Pet*_*ter 42
memcpy()从一个地方复制到另一个地方.memset()只需将所有内存设置为相同的值.
例:
memset(str, '*', 50);
Run Code Online (Sandbox Code Playgroud)
上面的行将字符串str的前50个字符设置为*(或memset的任何第二个参数).
memcpy(str2, str1, 50);
Run Code Online (Sandbox Code Playgroud)
上面的行将str1的前50个字符复制到str2.
Amb*_*ber 16
memset()将指定缓冲区中的所有字节设置为相同的值,memcpy()将字节序列从另一个位置复制到缓冲区.
char a[4];
memset(a, 7, sizeof(char)*4);
/*
* a is now...
*
* +-+-+-+-+
* |7|7|7|7|
* +-+-+-+-+
*/
char b[] = {1,2,3,4};
char c[4];
memcpy(c, b, sizeof(char)*4);
/*
* c is now...
*
* +-+-+-+-+
* |1|2|3|4|
* +-+-+-+-+
*/
Run Code Online (Sandbox Code Playgroud)