目录

五、strstr函数(查找字符串)

六、strtok函数(字符串切割)

七、strerror(错误报告函数)

八、字符转化


五、strstr函数(查找字符串)

参数形式const char*strstr(const char*str1,const char*str2)

函数的特点:用一个指针去接受他的返回值,若查找成功则会返回一个指向一开始子串所在的位置

,之后就从子串所在的初始位置开始打印,如在abcdefg中找子串cd,则会返回c所在的地址,

如果打印这个指针就会从c的地址开始打印,所以结果是cdefg,若是有多个子串出现在主串上,则

返回出现第一次出现该串的地址,如absdabc,中查找子串ab则返回的是第一个的地址,若打印该

返回地址则得到的是absdabc;若查找失败,则会返回一个NULL。

函数的使用:

#include<stdio.h>#include<string.h>#include<errno.h>int main()
{ char arr1[20]={"abcdefgh"};char*a= strstr(arr1,"abc");if(a==NULL){printf("%s\n",strerror(errno));//打印失败的原因}printf("%s\n",a);//打印结果的return 0;}

六、strtok函数(字符串切割)

 函数的参数形式char*strstr(char*str,const char*sep);

其中sep是个字符串,里面包含了分隔符的字符集合(@*_>.)之类的。

函数特点:该函数第一次找到标记的符号时,会把该标记符号改成'\0',并打印从首元素到这个

'\0'的位置,之后每次传的都是NULL就可以了,因为这个函数会记住上次把那个分隔符变为'\0'

时的位置,注意使用一次字符串切割函数只会打印首元素到第一次出现标识符的位置;strtok函数

会改变原来的字符串,所以使用的时候最好拷贝一份。

#include<stdio.h>
#include<string.h>int main()
{char arr={"qwq@kong&chao"};char*p={"@&"};char buf[30]={0};strcpy(buf,arr);//拷贝for (char*ret = strtok(arr, p); ret != NULL; ret = strtok(NULL, p))//第一次传首元素地址                          {printf("%s", ret);
}return 0;

七、strerror(错误报告函数)

参数形式char*strerror(int errnum)

其中errnum是错误码,后面就没啥了,非常的简单。错误码大全是errno要引用头文件<errno.h>

函数没什么特点,就是单纯的把出错的信息打印出来,错误码所对应的信息

#include<stdio.h>#include<string.h>#include<errno.h>int main()
{ FILE*pf=fopen("test.txt","rb");//打开文件操作,用读的方式打开,后期会涉及滴 if(pf==NULL)//打开失败会返回一个NULL;{printf("%s\n",strerror(errno);//打印打开文件失败的原因}else{printf("打开成功");//打开成功给的提示}return 0;
}

类似这种提示:(下图是文件不存在的提示)

八、字符转化函数

int tolower(int c)     转小写字母

int toupper(int c)     转大写字母

头文件是<ctype.h>

#include<stdio.h>
#include<ctype.h>int main()
{char ch=toupper('s');//转大写char cc=tolower('G');//转小写putchar(ch);putchar(cc);return 0;}

强烈建议一键三连哈哈,欢迎各位大佬指正

字符串函数的使用和剖析(三)相关推荐

  1. 赶紧来修炼内功~字符串函数详解大全(三)

    目录 1. strstr 2. strtok 重点: 3. strerror perror: 1. strstr 该函数是用来查找str1字符串中是否含有str2字符串    存在:返回str2字符串 ...

  2. Python字符串函数大全系列文章(三)

    1.join(iterable,/): 将一个迭代对象连接起来 >>> '-'.join(['hello','python','go']) 'hello-python-go' 2.l ...

  3. 详解MySQL字符串函数TRIM()、填充函数LPAD()、RPAD()、字符串长度LENGTH()用法(三)

    文章目录 一.删除空格函数TRIM().LTRIM().RTRIM() 1.TRIM() 2.LTRIM() 3.RTRIM() 二.填充函数LPAD().RPAD() 1.LPAD() 2.RPAD ...

  4. c语言trave函数,(三)C语言之字符串与字符串函数

    温馨提示 写博客是为了记录在开发过程中所涉及到的技术以及遇到的问题的解决,如果该博客对您有所帮助,希望可以点个关注/喜欢:如果您对文章中的内容有什么不同的见解,欢迎留言进行讨论.谢谢! (三)C语言之 ...

  5. C语言函数: 字符串函数及模拟实现strtok()、strstr()、strerror()

    C语言函数: 字符串函数及模拟实现strtok().strstr().strerror() strstr()函数: 作用:字符串查找.在一串字符串中,查找另一串字符串是否存在. 形参: str2在st ...

  6. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  7. c语言中存储字符用什么函数,那些C语言中你不知道的字符串函数(坑)

    1.strcpy() 在字符串拷贝函数中,它的函数编写不难,如下 char* Strcpy(char* dest, const char* src) { assert(dest != NULL &am ...

  8. PHP替换字符串函数strtr()和str_replace()

    strtr(string,from,to): 逐个字符开始替换,以from跟to中长度较较短的一个为准,例如: strtr("aidenliu","ai",&q ...

  9. 【 C 】字符串函数专题

    目录 字符串基础 字符串长度 不受限制的字符串函数 复制字符串 连接字符串 函数的返回值 字符串比较 长度受限的字符串函数 strncpy strncat strncmp 字符串基础 字符串就是一串零 ...

最新文章

  1. SDUT 2384 El Dorado
  2. HTTPSession对象知识总结
  3. 【每周CV论文】深度学习文本检测与识别入门必读文章
  4. mysql的字符型系统数据类型主要包括_MySQL的数据类型主要包括哪些
  5. springboot redis shiro 实现 单点登录
  6. 安卓日志点击无反应_长生之路游戏原型开发日志(三十七)
  7. Pycharm整体缩进
  8. afnetworking 和 asihttprequest 强制修改http连接的host地址
  9. linux内核类型lagency,使用u盘安装linux(manjaro)时Grub报错
  10. idea 代码格式化 Spotless 教程
  11. 批量保存网页_一键下载网页所有图片,把美丽存下来
  12. python读取桌面上的文件夹怎么加密_python给文件夹加密 怎么样给python文件加密...
  13. 51单片机-波特率的计算定时器初始值的计算
  14. SM2263XT贴四片PF29F01T2ANCTH2,SM2263XT量产工具成功开卡
  15. new plat (vcam+wifi)项目调试
  16. 面向对象在python中的实践---如何定义类、对象?
  17. 批归一化作用_为什么数据要做归一化处理,什么是批归一化?
  18. [ZT]网站十种常见盈利模式简介
  19. 城市筛选数据(根据2020年度全国统计用区划代码和城乡划分代码更新维护的标准)
  20. go语言读文件 java读文件_如何从Java中的文本文件逐行读取

热门文章

  1. 日志文件写入失败(permission denied)
  2. 用100元换10元、5元和1元的纸币共50张,能换各种纸币多少张。
  3. 【linux find命令】在目录中查找文件并删除文件
  4. 如何进行S6系统还原
  5. 一个35岁男人的自学编程之路
  6. Qlikview配置ODBC连接SQL SERVER/ORACLE
  7. ffmpeg如何实现MP3转码g711a,
  8. 程序员给女朋友庆祝节日的方式
  9. matplotlib完美论文画图
  10. Mac OS X在终端中打开文件夹窗口