1.memset
声明:
void *memset(
void *dest,
int c,
size_t count
);
参数:
dest:指向预设置的内存空间的指针;
c:拷贝进内存空间的值;
count:设置内存空间的字节数大小。
函数作用:
将指定大小的内存空间中的值均设置为c值。
返回值:
返回一个指向目标存储区dest的指针。
2.memcpy
声明:
void *memcpy(
void *dest,
const void *src,
size_t count
);
参数:
dest:指向存放复制内容的内存空间首地址的指针;
src:指向被复制内容的内存空间首地址的指针;
count:复制内容的最大字节数。
函数作用:
将src中的内容按字节挨个复制到dest中。
返回值:
返回一个指向目标存储区dest的指针。
3.memccpy
声明:
void *memccpy(
void *dest,
void *src,
unsigned char ch,
unsigned int count
);
参数:
dest:指向存放复制内容的内存空间首地址的指针;
src:指向被复制内容的内存空间首地址的指针;
ch:停止字符,复制过程中str2遇到此字符后停止复制;
count:复制内容的最大字节数。
函数作用:
由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。
返回值:
返回指向字符ch后的第一个字符的指针,如果src前count个字节中不存在ch则返回NULL。
4.memcpy_s
声明:
errno_t memcpy_s(
void *dest,
size_t numberOfElements,
const void *src,
size_t count
);
参数:
dest:指向存放复制内容的内存空间首地址的指针;
numberOfElements:dest所指内存空间的缓冲区大小,实际复制的字节数上限;
src:指向被复制内容的内存空间首地址的指针;
count:复制内容的期望字节数大小。
函数作用:
由src所指内存区域复制不多于count个字节到dest所指内存区域,但是count不能大于numberOfElements。这样可以确保dest所指内存空间的数据安全。
返回值:
一个整型值(errno_t),用来判断复制是否完成。0表示成功。
5.memcmp
声明:
int memcmp(
const void *buf1,
const void *buf2,
size_t count
);
参数:
buf1:指向欲比较的第一个缓冲区的指针;
buf2:指向欲比较的第二个缓冲区的指针;
count:比较的字节数大小。
函数作用:
按字节依次比较两个缓冲区的数据大小。
返回值:
一个整型:<0 表示按字节比较 buf1 < buf2;
=0 表示按字节比较 buf1 = buf2;
>0 表示按字节比较 buf1 > buf2
6.memchr
声明:
void *memchr(
const void *buf,
int c,
size_t count
); // C only
void *memchr(
void *buf,
int c,
size_t count
); // C++ only
const void *memchr(
const void *buf,
int c,
size_t count
); // C++ only
参数:
buf:指向欲查找内容的缓冲区的指针;
c:欲查找的字符;
count:查找的字符数。
函数作用:
在一个缓冲区中查找指定大小区间里是否存在指定字符c。
返回值:
查找成功则返回指向c值的第一个指针,查找失败则返回NULL。
7.memmove
声明:
void *memmove(
void *dest,
const void *src,
size_t count
);
参数:
dest:指向存放复制内容的内存空间首地址的指针;
src:指向被复制内容的内存空间首地址的指针;
count:复制内容的最大字节数。
函数作用:
将src中的内容按字节挨个复制到dest中。
返回值:
返回一个指向目标存储区dest的指针。
*注意:memmove与memcpy的区别:
当复制的内存空间与被复制的内存空间发生局部重叠时,memmove可以保证拷贝内容正确并成功覆盖。另外在高级VS版本中,两者在内部实现上已经一致。
8.memmove_s
声明:
errno_t memmove_s(
void *dest,
size_t numberOfElements,
const void *src,
size_t count
);
参数:
dest:指向存放复制内容的内存空间首地址的指针;
numberOfElements:dest所指内存空间的缓冲区大小,实际复制的字节数上限;
src:指向被复制内容的内存空间首地址的指针;
count:复制内容的期望字节数大小。
函数作用:
由src所指内存区域复制不多于count个字节到dest所指内存区域,但是count不能大于numberOfElements。这样可以确保dest所指内存空间的数据安全。
返回值:
一个整型值(errno_t),用来判断复制是否完成。0表示成功。
*注意:memmove_s与memcpy_s的区别:
当复制的内存空间与被复制的内存空间发生局部重叠时,memmove_s可以保证拷贝内容正确并成功覆盖。另外在高级VS版本中,两者在内部实现上已经一致。