转载请注明出处:http://blog.csdn.net/zhubin215130/article/details/8993403
void *memcpy(void *dest, const void *src, size_t n);
从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中.void *memmove( void* dest, const void* src,size_t count);
由src所指内存区域复制count个字节到dest所指内存区域。memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后src内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。
void *memset(void *s, int ch, size_t n);
将s中前n个字节(typedef unsigned int size_t)用ch替换并返回s。memset作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法.
int memcmp(const void *buf1, const void *buf2, unsigned int count);
比较内存区域buf1和buf2的前count个字节。当buf1<buf2时,返回值<0
当buf1=buf2时,返回值=0
当buf1>buf2时,返回值>0
extern char *strcpy(char* dest, const char *src);
把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间.src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。char * strncpy(char *dest, char *src,size_t num);
复制src中的内容(字符,数字、汉字....)到dest,复制多少由num的值决定,返回指向dest的指针。如果遇到null字符('\0'),且还没有到num个字符时,就用(num - n)(n是遇到null字符前已经有的非null字符个数)个null字符附加到destination。extern char *strcat(char *dest,char *src);
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。extern char *strncat(char *dest,char *src,int n);
把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。extern int strcmp(const char *s1,const char * s2);
比较字符串s1和s2。当s1<s2时,返回值<0
当s1==s2时,返回值=0
当s1>s2时,返回值>0
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
int strncmp(char *str1, char *str2, int maxlen);
此函数功能即比较字符串str1和str2的前maxlen个字符。
如果前maxlen字节完全相等,返回值就=0;
在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。
int strcasecmp (const char *s1, const char *s2);
strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。
若参数s1和s2字符串相等则返回0。
s1大于s2则返回大于0 的值。
s1 小于s2 则返回小于0的值。
int strncasecmp(const char *s1, const char *s2, size_t n)
strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异,
若参数s1和s2字符串相同则返回0
s1若大于s2则返回大于0的值
s1若小于s2则返回小于0的值.