C中常用的字符、字符串处理函数

C中常用的字符、字符串处理函数


(注:size_t定义在stddef.h中,代表无符号整数。)
关于查找:
(1) size_t  strspn( char const *str, char const *group);  p182
返回str起始部分匹配group中任意字符的字符数(也可理解为str中第一个不在group中出现的字符的索引值)。
如下:int  len1 = strspn(“1234567890”, “af123af”);  //len1 = 3

(2) size_t  strcspn( char const *str, char const *group);
返回str起始部分不匹配group中任意字符的字符数(str中第一个在group中出现的字符的索引值)。
 如下: int  n = strcspn( “Hello, world”, “Welcome you” );  //n = 1
(注: 若找不到,则返回str的尾部。)

(3) char  *strpbrk(char const *str, char const *group);
返回str中第一个与group中任何一个字符相匹配的字符的地址(指针)。
(注:若没找到,返回NULL。)
(注: 它与strcspn的区别是,前者返回指针,后者返回下标值。)

(4) char  *strctr( char const *str, int ch);

(5) char  *strrchr( char const *str, int ch);
前者返回在str中第一次出现的字符ch(int型)的位置,后者返回在str中最后一次出现的ch的位置。
     
(6) char  *strstr ( char const *s1, char const *s2);
在s1中查找整个子字符串s2第一次出现的起始位置。
(注: 若找不到,返回NULL ,若s2是空字符串,返回s1。)

关于长度:
(7) size_t  strlen( char const *string );
返回string包含的字符的个数。
           (注:不包括\0的长度。写 int a = strlen(“ABC”);或int a = strlen(“ABC\0”);
            结果都为3。)  

关于复制与连接:
(8) char   *strcpy( char *dst, char const *str);
将src字符串复制到dst中(连带NUL字节)。返回指向dst数组的指针。原来dst中的内容被覆盖。
(注: 若src和dst在内存中是重叠的,则结果是未定义的。)
(注: 不要让str的长度大于dst的长度。)

(9) char  *strcat ( char *dst, char const *src );
将src添加到dst的末尾,返回指向dst数组的指针。
(注: 若重叠,未定义。)
(注: 要保证dst剩余空间足够。)

关于比较:
(10) int  strcmp ( char const *s1, char const *s2 );
字典比较。比较2个字符串中最先不匹配的字符的大小(依据字符集)。
若s1 < s2, 返回小于0的值;若s1 > s2, 返回大于0的值;
若s1 = s2,返回0。

长度受限的字符串函数:
(11) char  *strncpy( char *dst, char const *str, size_t len );
(12) char  *strncat( char *dst, char const *str, size_t len );
(13) int  strncmp( char const *s1, char const *s2, size_t len );
功能类似于前3者,但有一些区别和注意点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值