c中的字符串处理

 在C语言中,对 字符串的处理非常重要,特别在一些 网络设备中,处理过程会影响设备的转发和吞吐量。这里详细注释了 String.h中的所有函数。以下内容摘自《C 程序设计教程》(美)H.M.Deitel P.J.Deitel著,薛万鹏等译,机械工业出版社。


     void *memccpy (void *dest, const void *src, int c, size_t n);
     从src所指向的对象复制n个 字符到dest所指向的对象中。如果复制过程中遇到了 字符c则停止复制,返回指针指向dest中 字符c的下一个位置;否则返回NULL。

     void *memcpy (void *dest, const void *src, size_t n);
     从src所指向的对象复制n个 字符到dest所指向的对象中。返回指针为dest的值。

     void *memchr (const void *s, int c, size_t n);
     在s所指向的对象的前n个 字符中搜索 字符c。如果搜索到,返回指针指向 字符c第一次出现的位置;否则返回NULL。

     int memcmp (const void *s1, const void *s2, size_t n);
     比较s1所指向的对象和s2所指向的对象的前n个 字符。返回值是s1与s2第一个不同的 字符差值。

     int memicmp (const void *s1, const void *s2, size_t n);
     比较s1所指向的对象和s2所指向的对象的前n个 字符,忽略大小写。返回值是s1与s2第一个不同的 字符差值。

     void *memmove (void *dest, const void *src, size_t n);
     从src所指向的对象复制n个 字符到dest所指向的对象中。返回指针为dest的值。不会发生内存重叠。

     void *memset (void *s, int c, size_t n);
     设置s所指向的对象的前n个 字符字符c。返回指针为s的值。

     char *stpcpy (char *dest, const char *src);
     复制 字符串src到dest中。返回指针为dest + len(src)的值。

     char *strcpy (char *dest, const char *src);
     复制 字符串src到dest中。返回指针为dest的值。

     char *strcat (char *dest, const char *src);
     将 字符串src添加到dest尾部。返回指针为dest的值。

     char *strchr (const char *s, int c);
     在 字符串s中搜索 字符c。如果搜索到,返回指针指向 字符c第一次出现的位置;否则返回NULL。

     int strcmp (const char *s1, const char *s2);
     比较 字符串s1和 字符串s2。返回值是s1与s2第一个不同的 字符差值。

     int stricmp (const char *s1, const char *s2);
     比较 字符串s1和 字符串s2,忽略大小写。返回值是s1与s2第一个不同的 字符差值。

     size_t strcspn (const char *s1, const char *s2);
     返回值是 字符串s1的完全由不包含在 字符串s2中的 字符组成的初始串长度。

     size_t strspn (const char *s1, const char *s2);
     返回值是 字符串s1的完全由包含在 字符串s2中的 字符组成的初始串长度。

     char *strdup (const char *s);
     得到一个 字符串s的复制。返回指针指向复制后的 字符串的首地址。
   
     char *strerror(int errnum);
     返回指针指向由errnum所关联的出错消息 字符串的首地址。errnum的宏定义见errno.h。

     size_t strlen (const char *s);
     返回值是 字符串s的长度。不包括结束符'/0'。

     char *strlwr (char *s);
     将 字符串s全部转换成小写。返回指针为s的值。

     char *strupr (char *s);
     将 字符串s全部转换成大写。返回指针为s的值。

     char *strncat (char *dest, const char *src, size_t maxlen);
     将 字符串src添加到dest尾部,最多添加maxlen个 字符。返回指针为dest的值。

     int strncmp (const char *s1, const char *s2, size_t maxlen);
     比较 字符串s1和 字符串s2,最多比较maxlen个 字符。返回值是s1与s2第一个不同的 字符差值。

     char *strncpy (char *dest, const char *src, size_t maxlen);
     复制 字符串src到dest中,最多复制maxlen个 字符。返回指针为dest的值。

     int strnicmp(const char *s1, const char *s2, size_t maxlen);
     比较 字符串s1和 字符串s2,忽略大小写,最多比较maxlen个 字符。返回值是s1与s2第一个不同的 字符差值。

     char *strnset (char *s, int ch, size_t n);
     设置 字符串s中的前n个 字符全为 字符c。返回指针为s的值。

     char *strset (char *s, int ch);
     设置 字符串s中的 字符全为 字符c。返回指针为s的值。

     char *strpbrk (const char *s1, const char *s2);
     返回指针指向 字符串s1中 字符串s2的任意 字符第一次出现的位置;如果未出现返回NULL。

     char *strrchr (const char *s, int c);
     在 字符串s中搜索 字符c。如果搜索到,返回指针指向 字符c最后一次出现的位置;否则返回NULL。

     char *strrev (char *s);
     将 字符串全部翻转,返回指针指向翻转后的 字符串。

     char *strstr (const char *s1, const char *s2);
     在 字符串s1中搜索 字符串s2。如果搜索到,返回指针指向 字符串s2第一次出现的位置;否则返回NULL。

     char *strtok (char *s1, const char *s2);
     用 字符串s2中的 字符做分隔符将 字符串s1分割。返回指针指向分割后的 字符串。第一次调用后需用NULLL替代s1作为第一个参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值