C语言strtok()函数:字符串分割
1、头文件:#include <string.h>
2、定义函数:char * strtok(char *s, const char *delim);
分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。
3、函数说明:
strtok()用来将字符串分割成一个个片段。参数s 指向欲分解的字符串,参数delim 则为分隔字符串;
当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符。
在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
4、返回值:返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
5、注意:使用该函数进行字符串分割时,会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。第一次分割之后,原字符串str是分割完成之后的第一个字符串,剩余的字符串存储在一个静态变量中,因此多线程同时访问该静态变量时,则会出现错误。
备注:strtok函数会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。如果要保持原字符串的完整,可以使用strchr和sscanf的组合等。
例程:
#include <string.h>
#include <stdio.h>int main () {char str[80] = "ab,cd,ef";const char s[2] = ",";char *token;/* 获取第一个子字符串 */token = strtok(str, s);/* 继续获取其他的子字符串 */while( token != NULL ) {printf( "%s\n", token );token = strtok(NULL, s);}return(0);
}
执行结果:
ab
cd
ef
C语言strtok()函数:字符串分割相关推荐
- strtok(), strtok_s() 字符串分割函数
strtok(), strtok_s() 字符串分割函数 //strtok()函数原型/*_Check_return_ _CRT_INSECURE_DEPRECATE(strtok_s) _CRTIM ...
- C语言strtok函数使用实例以及注意事项
C语言strtok函数使用 使用场景 代码实例 注意事项 参考 使用场景 字符串内容中被某个或者某些字符分割成若干部分,需要取出被分隔的若干个子字符串又不想去确定特殊字符的个数. 比如将下列字符串21 ...
- C语言中的字符串分割函数
char *strtok(char *s, const char *delim); 分解字符串为一组字符串.s为要分解的字符串,delim为分隔符字符串. 从s开头开始的一个个被分割的串.当没有被分割 ...
- 恶心的C语言strtok函数
从C#.JAVA到C ,让我觉得像是从公产主义社会回到了原始社会,不顺手,所以很心里憋气!!! 函数名: strtok 功 能: 查找由在第二个串中指定的分界符分隔开的单词 用 法: char ...
- C语言strtok函数的用法
先理解strtok函数的定义,尤其是指针方面的,需要自己理解. 原型: char *strtok(char *s, const char *delim); #include<string.h&g ...
- C语言用函数字符串的查找,字符串查找函数,C语言字符串查找函数详解
在对 C 语言的编程实践中,字符串查找是最频繁的字符串操作之一,本节就对常用的字符串查找函数做一个简单的总结. 使用 strchr 与 strrchr 函数查找单个字符如果需要对字符串中的单个字符进行 ...
- c语言以空格分割字符串_C语言strtok()函数:用指定的分隔符分解字符串
函数名: strtok 头文件: 函数原型: char *strtok(char *str1, const char *str2); 功能: 用指定的分隔符分解字符串 参数: char *str1 ...
- C语言strtok函数
strtok是C语言用于分割字符串的函数,需要include<string.h>. 第一次使用时第一个参数传入待分割的字符串,第二个参数传入分割符号. 第二次使用时第一个函数传入NULL, ...
- c语言strtok函数完美实现
看到网上好多错误的strtok实现,也不能说错,准确的说是没有完全的实现strtok,现自己写了下,目前还没有找到bug,如果有不对的欢迎指出. 大多数网上的strtok实现的代码跑不过a[]={&q ...
最新文章
- datagridview java_仅更新datagridview中的一个单元格
- 学习 Message(4): 通过 Application.OnMessage 或 TApplicationEvents 响应消息
- c语言的考试是操作电脑还是写试卷,C语言考试试卷都是基础的题目,由于本人没学过C语言,求各位帮忙, 爱问知识人...
- Java多线程-新特性-线程池
- LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间
- C语言中如何衡量算法的正确性,从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?...
- 基于springboot的多人聊天系统
- mysql like 全文索引_mysql like%query是慢全文索引
- 重新注册所有dll文件
- 计算机自己创作游戏,说说自己做的数据库:我不爱玩电脑游戏,自己做数据库自己欣赏...
- 如何使用matlab绘制晶胞结构示意图
- ERP管理web后台_数字化、智能化工厂管理系统原型、erp生产管理、仓库管理、采购管理、设备能源管理、计划管理、数字化工厂erp管理系统、生产计划、采购计划、用料请领、产品bom、工序管理、车间设备
- 关于 Uncaught ReferenceError: mOxie is not defined情况下的问题
- Android 深色模式适配
- git mertool使用kdiff3解决冲突合并
- 让临时停车号码牌会说话--鲁哇客智能挪车号码牌技术升级之路
- banner轮播图实现
- 蓝桥 卷“兔”来袭编程竞赛专场-08列置换加密 题解
- 看的见的算法系列——插入排序
- Notion——Android版下载与注册登录
热门文章
- 达人评测 惠普暗影精灵8和惠普暗影精灵8plus的区别
- 关于使用群晖系统创建音乐外链的研究
- 黑客捣毁了个暗网杀手网站,却险些触发了世界各地的多起杀戮...
- 当我们想要用LinkedIn领英开发客户时,如何设计填写职位头衔?
- c语言中的正弦函数与余弦函数
- mysql产品分类_MySQL习题1 一对多实例 产品和分类
- python可以自动拆分表格吗_Python 拆分表格并发送邮件
- php 聚合广告平台,GitHub - mystudytime/easy-amazon-advertising: 基于 amazon advertising v2 接口的 PHP 广告信息组件...
- PO:更改数组与对象的配置
- 微软新Logo四色代表什么?Win8/Office/Xbox等