前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言字符串操作

C语言字符串操作

作者头像
用户2929716
发布2018-08-23 13:13:00
2.9K0
发布2018-08-23 13:13:00
举报
文章被收录于专栏:流媒体流媒体

strtok

  • 定义:char *strtok(char s[], const char *delim);
  • s为要分解的字符串
  • delim为分隔符字符串
  • 当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针 #include <stdio.h> #include <string.h> void printArr(char *, int); int main() { char s[30] = "abc dedef gdhi de jkl"; const char *delim = "de"; printArr(s, 30); printf("\n"); char *result = strtok(s, delim); while (result) { printf("%s|%s\n", result, s); result = strtok(NULL, delim); } printArr(s, 30); return 0; } void printArr(char *s, int n) { for (int i = 0; i < n; i++) { printf("[%c#%-3d] ", s[i], s[i]); } } 结果: [a#97 ] [b#98 ] [c#99 ] [ #32 ] [d#100] [e#101] [d#100] [e#101] [f#102] [ #32 ] [ #32 ] [g#103] [d#100] [h#104] [i#105] [ #32 ] [ #32 ] [ #32 ] [ #32 ] [d#100] [e#101] [ #32 ] [ #32 ] [ #32 ] [ #32 ] [j#106] [k#107] [l#108] [ #0 ] [ #0 ] abc |abc f g|abc hi |abc jkl|abc [a#97 ] [b#98 ] [c#99 ] [ #32 ] [ #0 ] [e#101] [d#100] [e#101] [f#102] [ #32 ] [ #32 ] [g#103] [ #0 ] [h#104] [i#105] [ #32 ] [ #32 ] [ #32 ] [ #32 ] [ #0 ] [e#101] [ #32 ] [ #32 ] [ #32 ] [ #32 ] [j#106] [k#107] [l#108] [ #0 ] [ #0 ]

4.png

注意:

  • 分割的字符串不能为常量
  • 第一次调用需要传入需要分割的字符串,后面就传入NULL。
  • 如果未找到分割的字符串,则范围当前字符串的指针
  • 所有出现分割字符串的地方都会被过滤, 如上面代码 dede
  • strtok会破坏被分解的字符串,调用前后不一致。我们看到运行结果,所有出现de的地方,第一个字符被替换成了'\0'。

strchr

  • 定义:char strchr(const char _Str,char _Val)
  • 回首次出现_Val的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果Str中不存在Val则返回NULL
  • 返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL int main() { char s[30] = "abc dedef gdhi de jkl"; char *result = strchr(s, 'd'); printf("%s\n", result); return 0; } 结果: dedef gdhi de jkl

strstr

  • 定义:char *strstr (const char *, const char *)
  • 判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • strtok
  • strchr
  • strstr
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档