c语言转字符串函数名,C语言字符串处理函数之字符串转换、查询函数

介绍完字符串整体操作函数,就该到字符串查询函数和字符串转换函数了,至于一些字符串转换函数,如atoi(),atof(),strtod(),strtol(),tolower(),toupper()等,以后有时间再整理整理。

字符串查询函数:

strchr:匹配字符串中首次出现的指定字符

原型:char* strchr(const *s, int c)功能:用来找出参数s字符串中第一个出现参数c的地址,然后将该字符出现的地址返回返回值:如果找到指定的字符,则返回该字符所在地址,否则返回0。

51b2ec40b1e4290e9fec1dca805e13b5.png

说明:数组str中为"abcabc",使用strchr()查找'c'字符首次出现的位置,返回其首次出现的地址,打印输出"cabc";第11行,将查找到地址的值修改为字符'*',原数组打印输出变为"ab*abc"。

strchr()遇到'\0'会停止,例子:

f4e746ae325ea792e6d00fa6e4e0df82.png

再来做一个简单的拓展,写个小函数,实现功能呢就是把给定字符串中某个字符出现的所有位置都用另外一个字替换,如下例子,将"abcabc"中的'c'替换为'@':

6e767fd98ed9fb2ef2602ebe16c76c06.png

memchr:字符搜索

原型:void* memchr(const void *s, int c, size_t n);功能:从buf所指内存区域的前n个字节查找字符c说明:当第一次遇到字符c时停止查找。如果成功,返回指向字符c的指针;否则返回NULL注意:与strchr不同,它不会遇到'\0'而结束

61ed9f8b7604f895bad333cc7a0fc894.png

strstr:字符串匹配,在一个字符串中查找指定的字符串

原型:char* strstr(const char *haystack, const char *needle)功能:strstr()会从字符串 haystack中搜寻字符串needle,并将第一次出现的地址返回返回值:返回指定字符串第一次出现的地址,否则返回0

9ff65c2e45aed038f7fee68a0e354b2f.png

同样,strstr()遇到'\0'会停止,如:

6f6b73a9928f54a3849eccaed1ba3941.png

字符串转换函数

strtok:字符串分割函数

原型:char *strtok(char *s, const char *delim);功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串说明:strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包涵的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针,如无从分割则返回NULL。

2acaefed0fb37650e61785c1d14197ad.png

strset:字符串设定函数,遇到'\0'结束。

原型:char *strset(char *s, char c);功能:把字符串s中的所有字符都设置成字符c说明:返回指向s的指针

46f586b6dcdc36eb0febf39c324796ce.png

memset:空间设定函数,与strset不同,遇到'\0'不会结束,需要给定所要设置的空间大小。

原型:void *memset(void *s, int ch, size_t n);功能:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法说明:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针

4aedce09a8c9eb0953210feb03d9f8c2.png

还有一些比较常用的函数,如字符串转换函数,像atoi,atof,atol等,都是比较简单的,有时间了整理一下,既然说到这里,顺便提一句,atof()比较特殊,在使用时需要注意下,不要忘记包含头文件stdlib.h。

fa5260ffa902c985dae673c486edefd0.png

写代码的时候最好不要忽略警告,有时候忽略警告会有意想不到的效果,如上面例子当中使用atof时,提示:warning C4013: “atof”未定义。需要包含头文件stdlib.h,即使不包含,也有警告但不会报错,只是,若不包含这个头文件,这里则是一个隐式申明,隐式申明默认返回类型是int型,float型数据按照int型处理就出问题了。

这是一个坑啊。。。

ad496a9ed170910d5cf75d112be10a02.png

举报/反馈

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值