C语言strtok函数用指定分隔符分解字符串的方法
时间:2026-08-18 | 作者:怪兽小助手 | 阅读:0函数名: strtok
基本信息
头文件:
函数原型: char *strtok(char *str1, const char *str2);
功能:用指定的分隔符分解字符串
参数说明
- char *str1 为要分解的字符串
- const char *str2 为分隔符字符串
返回值
返回下一个分割后的字符串指针,如果已无从分隔,则返回NULL
注意事项
- 1、函数的作用是分解字符串。所谓分解,即没有生成新串,只是在s所指向的内容首次出现分界符的位置,将分界符修改成了'/0’。故第一次用strtok()返回第一个子串。
- 2、第一次把子串提取出来之后,如果还要继续从源字符串 s 里往下拆,那么从第二次、第三次一直到第 n 次调用开始,strtok 的第一个参数都应该传空值 NULL。
- 意思很明确:函数会接着上一次调用时隐式保存的位置,继续对字符串做分解。对应前一次调用来说,就是在第一次调用结束前,会用一个 this 指针指向分界符后的下一位。
- 3、当this指针指向“ ” 时,即没有被分割的子串了,此时则返回NULL
- 4、可以把delim理解为分隔符的集合,delim中的字符均可以作为分隔符。
- 5、strtok在调用的时候,如果起始位置即为分隔符,则忽略了起始位置开始的分隔符
- 6、该函数会改变str1的值,所以str1必须是字符串数组,不能是字符串指针
程序例
将字符串数组input通过分隔符","分隔开,并将结果输出
#include#include int main(void){ char input[50] = "I like www.dotcpp.com very much"; char *p = strtok(input, " "); if(p){ printf("%sn", p); } while(p=strtok(NULL, " ")){//使用第一个参数为NULL来提取子串 printf("%sn", p); } return 0; }
运行结果
I like www.dotcpp.com very much
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 【C语言基础】:深入理解指针(三)
- 时间:2026-08-27
-
- C语言基础:字符与字符串函数详解及模拟实现
- 时间:2026-08-27
-
- C语言进阶:深入解析字符串、结构体与typedef用法
- 时间:2026-08-27
-
- LibCoroutine:细粒度C语言协程库开发解析
- 时间:2026-08-27
-
- C语言分支与循环入门:if、switch 和三种循环该怎么用
- 时间:2026-08-25
-
- C 语言字符指针入门:搞清地址、字符串常量与数组的区别
- 时间:2026-08-24
-
- C语言指针入门:从地址、数组到函数调用一次讲清
- 时间:2026-08-24
-
- C 语言自定义数据类型梳理:枚举、结构体、共用体与 typedef
- 时间:2026-08-24
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17
