|
C库函数手册(35) 操作函数,所在函数库为string.h、mem.h mem…操作存贮数组 void *memccpy(void *destin,void *source,unsigned char ch,unsigned n) void *memchr(void *s,char ch,unsigned n) void *memcmp(void *s1,void *s2,unsigned n) int memicmp(void *s1,void *s2,unsigned n) void *memmove(void *destin,void *source,unsigned n) void *memcpy(void *destin,void *source,unsigned n) void *memset(void *s,char ch,unsigned n) 这些函数,mem…系列的所有成员均操作存贮数组.在所有这些函数中,数组是n字节长. memcpy从source复制一个n字节的块到destin.如果源块和目标块重迭,则选择复制方向, 以例正确地复制覆盖的字节. memmove与memcpy相同. memset将s的所有字节置于字节ch中.s数组的长度由n给出. memcmp比较正好是n字节长的两个字符串s1和s2.些函数按无符号字符比较字节,因此, memcmp("0xFF","\x7F",1)返回值大于0. memicmp比较s1和s2的前n个字节,不管字符大写或小写. memccpy从source复制字节到destin.复制一结束就发生下列任一情况: (1)字符ch首选复制到destin. (2)n个字节已复制到destin. memchr对字符ch检索s数组的前n个字节. 返回值:memmove和memcpy返回destin memset返回s的值 memcmp和memicmp─┬─若s1<s2返回值小于0 ├─若s1=s2返回值等于0 └─若s1>s2返回值大于0 memccpy若复制了ch,则返回直接跟随ch的在destin中的字节的一个指针; 否则返回NULL memchr返回在s中首先出现ch的一个指针;如果在s数组中不出现ch,就返回NULL.
void movedata(int segsrc,int offsrc, int segdest,int offdest, unsigned numbytes) 本函数将源地址(segsrc:offsrc)处的numbytes个字节 复制到目标地址(segdest:offdest)
|