memset 清 0 完全正确

2019-04-25  本文已影响0人  星星之火666

函数介绍:

void *memset(void *s, int ch, size_t n);
函数解释:将s中当前位置后面的n个字节 (typedef unsigned long long size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.

代码:

#include<iostream>
using namespace std;
typedef unsigned char byte;

int main()
{
    byte str[32];
    for (int i = 0; i < 33; i++)
        cout << int(str[i]) << "\t";

    cout << endl << endl;

    memset(str, 0, 32);

    for (int i = 0; i < 33; i++)
        cout << int(str[i]) << "\t";
}

结果:

204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204     204

0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       204
上一篇下一篇

猜你喜欢

热点阅读