字符串函数的和字符函数

1 字符分类函数

专门做字符分类的函数,就是一个字符属于什么类型的函数,需要包含头文件<ctype.h>.

例如:将字符串的小写字母转为大写字母

int  islower (int c);

islower  是判断参数部分c是否为小写字母

2 字符转换函数

int  tolower ( int c ); 将传进去的大写字母转小写。

int  toupper ( int c );将传进去的小写字母转大写。

3 strlen 的使用和模拟实现

size_t  strlen(const  char * str);

字符串以'\0'作为结束标记,strlen函数返回的是字符串在'\0'之前出现的字符个数。(不包括'\0')。

需要包括头文件string.h

strlen的模拟实现

方式一:使用计数器

方式二:使用递归

方式三:指针减指针

4 strcpy的使用和模拟实现

char*  srecpy(char* destination , const char* source)

字符串的复制

1,原字符串必须以'\0'结束

2,目标空间必须可修改

strcpy模拟实现

5 strcat的使用和模拟实现

追加字符串

目标空间必须足够大,能容纳下源字符串的内容

strcat模拟实现

6 strcmp的使用和模拟实现

第一个字符串大于第二个字符串,返回大于0的数字。

第一个字符串等于第二个字符串,返回0。

第一个字符串小于第二个字符串,返回小于0的数字。

(比较的是两个字符串对应位置上的字符的ASCLL码值)。

strcmp的模拟实现

7 strncpy函数的使用

char * strncpy ( char* destination, char* source,size_t  num)

拷贝num个字符从源字符到目标空间

如果源字符串的长度小于num,则拷贝完源字符串后在目标后面追加0,直到num个

8 strncat函数的使用

char * strncat(char * destination ,char * source ,size_t  num)

将source指向字符串的前num个字符追加到destination指向的字符串末尾,再追加一个\0

如果source指向的字符串的长度小于num的时候,只会将字符串中到\0的内容追加到destination指向的字符串末尾。

strncat的模拟实现

9 strncmp函数的使用

int strncmp (const char* str1,const  char* str2,size_t num)

比较str1和str的前num个字符,如果相等就继续往后比较,最多比较num个字母,如果提前发现不一样,就提前结束,大的字符所在的字符串大于另一个。如果num个字符都相等,就是相等返回0。

10 strstr的使用和模拟

char  * strstr ( const char * str1,const  char * str2 )

函数返回字符串str2在字符串strt1中第一次出现的位置。

字符串的比较匹配不包含\0字符,以\0作为结束标记。

模拟实现

11 strtok的使用

char * strtok ( char * str , const char * sep)

sep参数指向一个字符串,定义了用做分隔符的字符集合。

第一个参数指定一个字符串,他包含了0个或多个由sep字符串中一个或多个分隔符分割的标记。

strtok函数找到str的下一个标记,并将其用\0结尾,返回一个指向这个标记的指针。(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。)

strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存他在字符串中的位置。

strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。

如果字符串中不存在更多的标记,则返回NULL指针。

12 strerror函数的使用

char * strerror ( int errnum );

strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来。

头文件error.h

perror函数

  • 51
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值