strtok()函数
strtok()
将字符串拆分成tokens,tokens是被分隔符中的任何字符分隔的连续字符序列
char* strtok( char* str,const char* sep );
- sep参数是个字符串,定义了用作分隔符的字符集合
- 第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记。
- strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存其在字符串中的位置。
- 如果字符串中不存在更多的标记,则返回 NULL 指针。
工作原理:
strtok函数找到str中的下一个标记,并将其用
\0
结尾,返回一个指向这个标记的指针。(注: strtok函数会改变被操作的字符串(置
\0
操作),所以在使用strtok函数切分的字符串一般都是临时拷贝的内容 并且可修改。)
如下一段代码
char arr[] = "Atsuki@yeah.net";
const char* sep = "@.";
strtok(arr,sep);//从字符串头开始找第一个标记
strtok(NULL,sep);//从保存好的位置开始继续往后找
strtok(NULL,sep);//从保存好的位置开始继续往后找
strtok会从arr
的A
开始找一直到分隔符@
,找到后就会将@
置为\0
,并记住这个位置,然后返回Atsuki
字段的首地址,即A
的地址。
strtok(arr,sep);
执行后字符串就变为了
char arr[] = "Atsuki\0yeah.net";
然后strtok(NULL,sep);
就会返回y
的地址,并把.
置为\0
下一个strtok(NULL,sep);
会返回n
的地址
如果再调用strtok(NULL,sep);
就返回空指针
但是
一般我们会用将strtok作用在待切分字符串的临时拷贝上,因为它会改变原字符串,并且我们把上面的代码改进一下就是这样的
int main()
{char arr[] = "Atsuki@yeah.net";const char* sep = "@.";char buff[30] = {0};strcpy(buff,arr);char* str = NULL;for(str=strtok(buff,sep); str!=NULL; str=strtok(NULL,sep)){printf("%s\n", str);}return 0;
}
strtok()函数相关推荐
- 恶心的C语言strtok函数
从C#.JAVA到C ,让我觉得像是从公产主义社会回到了原始社会,不顺手,所以很心里憋气!!! 函数名: strtok 功 能: 查找由在第二个串中指定的分界符分隔开的单词 用 法: char ...
- C和指针之字符串strtok函数
1.strtok函数 头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok ...
- 【摘录】C语言中利用 strtok函数进行字符串分割
C语言不像Java,Php之类的高级语言,对象中直接封装了字符串的处理函数.C语言中进行普通的字符串处理也经常会让我们焦头烂额--不过好在C语言 中还是提供了像strtok这样功能强大的字符串处理函数 ...
- bob-tong 字符串函数之Strtok()函数
https://www.cnblogs.com/Bob-tong/p/6610806.html Strtok()函数详解: 该函数包含在"string.h"头文件中 函数原型 ...
- C/C++根据特定字符分割字符串、读取文件去掉逗号等特定字符、strtok()函数详解
字符串分割情况 读取文件时,C++识别的是空格和换行符,但有时候文件是以符号分割的,如逗号等 字符串本身含有特殊符号,如逗号,@等 strtok()函数 strtok()函数能够按照特定的字符分解字符 ...
- C语言strtok()函数:字符串分割
1.头文件:#include <string.h> 2.定义函数:char * strtok(char *s, const char *delim); 分解字符串为一组字符串.s ...
- strstr函数和strtok函数的使用
目录: strstr函数的使用 模拟实现strstr函数 strtok函数的使用 strstr函数定义:strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串.如果是,则该 ...
- strtok函数及其实现
头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成 ...
- c strtok函数用法
strtok函数用于分割字符串,原型如下: char *strtok(char *str, const char *delim); str为指向欲分割的字符串,delim为分隔符,实例如下: #inc ...
- strtok函数的使用
函数形式: #include <string.h> char *strtok(char *str, const char *delim); 作用: 根据某个定界附,将字符串分解成多个部分. ...
最新文章
- 2022-2028年中国氟橡胶产业竞争现状及发展前景分析报告
- 优达同学波士顿房价预测
- 架空输电线路运行规程_[精品课程]绝缘子及其设计架空输电线路设计
- 网页3D效果库Three.js学习[二]-了解照相机
- JVM源码分析-Java运行
- Docker操作系统理解
- 数学--图论--莫比乌斯线性筛模板
- 安装python无法启动_终端里为什么无法运行python?
- 常用的loss函数,以及在训练中的使用
- Web前端笔记-two.js图形旋转动画的2种实现方式
- C# DataGridView 如何选中整行
- python 指针_C++的动态内存:C++的指针
- SIR模型的应用 - Influence maximization in social networks based on TOPSIS(3)
- 【manjaro安装最新的搜狗输入法】2022年1月4号有效测试
- python xlsxwriter生成图片保存_Python xlsxwriter库 图表Demo
- mac开机启动项怎么设置,苹果电脑开机启动项在哪里设置
- 小布语音下载安装_小布语音助手
- jqwidgets 国际化- 中文 jqxGrid 中文语言包 gridlocalization
- mysql精度_MySQL几种数据类型精度和标度的情况
- 总结整理Echarts双y轴曲线图(全)