happyfish

BlogJava 首页 新随笔 联系 聚合 管理
  38 Posts :: 1 Stories :: 62 Comments :: 0 Trackbacks

所在函数库为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)
void  movemem(void *source,void *destin,unsigned len)
       本函数从source处复制一块长len字节的数据到destin.若源地址和目标地址字符串
       重迭,则选择复制方向,以便正确的复制数据.
void  setmem(void *addr,int len,char value)
       本函数把addr所指的块的第一个字节置于字节value中.

str…字符串操作函数
char   stpcpy(char *dest,const char *src)
        将字符串src复制到dest
char   strcat(char *dest,const char *src)
        将字符串src添加到dest末尾
char   strchr(const char *s,int c)
        检索并返回字符c在字符串s中第一次出现的位置
int    strcmp(const char *s1,const char *s2)
        比较字符串s1与s2的大小,并返回s1-s2
char   strcpy(char *dest,const char *src)
        将字符串src复制到dest
size_t strcspn(const char *s1,const char *s2)
        扫描s1,返回在s1中有,在s2中也有的字符个数
char   strdup(const char *s)
        将字符串s复制到最近建立的单元
int    stricmp(const char *s1,const char *s2)
        比较字符串s1和s2,并返回s1-s2
size_t strlen(const char *s)
        返回字符串s的长度
char   strlwr(char *s)
        将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串
char   strncat(char *dest,const char *src,size_t maxlen)
        将字符串src中最多maxlen个字符复制到字符串dest中
int    strncmp(const char *s1,const char *s2,size_t maxlen)
        比较字符串s1与s2中的前maxlen个字符
char   strncpy(char *dest,const char *src,size_t maxlen)
        复制src中的前maxlen个字符到dest中
int    strnicmp(const char *s1,const char *s2,size_t maxlen)
        比较字符串s1与s2中的前maxlen个字符
char   strnset(char *s,int ch,size_t n)
        将字符串s的前n个字符置于ch中
char   strpbrk(const char *s1,const char *s2)
        扫描字符串s1,并返回在s1和s2中均有的字符个数
char   strrchr(const char *s,int c)
        扫描最后出现一个给定字符c的一个字符串s
char   strrev(char *s)
        将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串
char   strset(char *s,int ch)
        将一个字符串s中的所有字符置于一个给定的字符ch
size_t strspn(const char *s1,const char *s2)
        扫描字符串s1,并返回在s1和s2中均有的字符个数
char   strstr(const char *s1,const char *s2)
        扫描字符串s2,并返回第一次出现s1的位置
char   strtok(char *s1,const char *s2)
        检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔
char   strupr(char *s)
        将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串

posted on 2005-01-24 13:37 小鱼儿 阅读(253) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: