函数 —— strtok() 例如:按照字符拆分字符串,放入新定义的数组中;按照字符拆分字符串,放入原先的数组中
问题描述:
原始数组:char str[80] = "This is - aa bb - cc - dd";
新定义的数组: char newstr[80]= {0};
分割符号: const char s[2] = "-";
1、把原始数组中的字符串str,按照分割符号“-”,拆分后,再重组,放入新定义的数组newstr中:
即:把 str , 按照“-”符号规则 分割,重组后放入newstr
#include <string.h>
#include <stdio.h>
int main()
{char str[80] = "This is - aa bb - cc - dd";const char s[2] = "-";printf("str=%s\n",str);char *token = (strtok(str,s));char cont[80]= {0};char newstr[80]= {0};while(token){sprintf(cont,"%s",token);printf("count=%s\n",token);token = strtok(NULL,s);strcat(newstr,cont);}printf("newstr=%s\n",newstr);return 0;
}
执行结果 |
---|
str=This is - aa bb - cc - dd count=This is count= aa bb count= cc count= dd newstr=This is aa bb cc dd |
2、把原始数组中的字符串str,按照分割符号“-”,拆分后,再重组,放入原始的数组str中:
即:把 str , 按照“-”符号规则 分割,重组后放入str
#include <string.h>
#include <stdio.h>
int main()
{char str[80] = "This is - aa bb - cc - dd";const char s[2] = "-";char cont[80]= {0};char ss[80]= {0};char *token = (strtok(str,s));while(token){sprintf(cont,"%s",token);printf("count = %s\n",token);token = strtok(NULL,s);strcat(ss,cont);}printf("ss = %s\n",ss);printf("str = %s\n",str);memset(str,0,strlen(str));//strcat(str,ss); sprintf(str,"%s",ss); //或者printf("after strcat str = %s\n",str);return 0;
}
执行结果 |
---|
count = This is |
3、分割字符串的两种方式
strtok() :
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
例如:
#include<stdio.h>#include<string.h>int main(void){char buf[]="hello@boy@this@is@heima";char*temp = strtok(buf,"@");while(temp){printf("%s ",temp);temp = strtok(NULL,"@");}return0;}
执行结果:
hello
boy
this
is
heima
#include<stdio.h>#include<string.h>int main(void){char buf[]="hello@boy@this@is@heima";char*temp = strtok(buf,"@");printf("%s ",temp);while((temp = strtok(NULL,"@"))){printf("%s ",temp);}return0;}
执行结果:
hello
boy
this
is
heima
函数 —— strtok() 例如:按照字符拆分字符串,放入新定义的数组中;按照字符拆分字符串,放入原先的数组中相关推荐
- 每天一道LeetCode-----在字符串s中找到最短的包含字符串t中所有字符的子串,子串中字符顺序无要求且可以有其他字符
Minimum Window Substring 原题链接Minimum Window Substring 要求在源字符串s中找到长度最短的子串,这个子串包含目标字符串t中的所有字符,字符顺序没有要求 ...
- 【 C 】高级字符串查找之查找标记(token)函数 strtok介绍
一个字符串常常包含几个单独的部分,它们彼此被分隔开来.每次为了处理这些部分,你首先必须把它们从字符串中抽取出来. 这个任务有#include<string.h>中的strtok函数完成.( ...
- 【STM32】利用 C 语言 strchar() 函数查找字符串中指定字符的位置
文章目录 字符串中查找字符 strchr() 描述 声明 参数 返回值 字符串分割 strtok() 描述 声明 参数 返回值 自己的函数 字符串中查找字符 strchr() 描述 C 库函数 cha ...
- 【C语言】字符串函数strtok 按照指定字符串分割
C语言字符串函数 strtok() 函数原型 char *strtok(char *str,const char *delimiters); 参数 str,待分割的字符串 delimiters,分隔符 ...
- c,c++中字符串处理函数strtok,strstr,strchr,strsub
http://blog.csdn.net/wangqing_12345/article/details/51760220 1,字符串切割函数 函数原型:char *strtok(char *s, ch ...
- 字符串切割函数strtok、strtok_s、strtok_r的区别
strtok函数 头文件:#include <string.h> 函数原型:char * strtok (char *str, const char * delimiters); 参数:s ...
- C语言中的字符函数和字符串函数
目录 前言 1.常用函数介绍 1.1 strlen 1.2 stycpy 1.3 strcat 1.4 strcmp 1.5 strncpy 1.6 strncat 1.7 strncmp 1.8 s ...
- 字符串分割函数strtok和strsep使用注意事项
转载自 https://blog.csdn.net/astrotycoon/article/details/50813959 为什么写本文 最近工作中经常需要解析字符串,并且这些字符串都有一个共同的特 ...
- pandas使用pad函数向dataframe特定数据列的每个字符串添加后置(后缀)补齐字符或者字符串、向所有字符串的右侧填充、直到宽度达到指定要求(right padding)
pandas使用pad函数向dataframe特定数据列的每个字符串添加后置(后缀)补齐字符或者字符串.向所有字符串的右侧填充.直到宽度达到指定要求(right padding) 目录
最新文章
- Laplacian函数
- 物体掉落速度_重3吨的巨型“手环”掉落高速路,车辆纷纷刹车躲避
- BRCM5.02编译一 : 缺少工具链路
- 高并发编程-线程通信_使用wait和notify进行线程间的通信
- HTML 5 Web Socket:下一次Web通信革命揭幕,互联网营销
- Vue003_class 与style 绑定
- 数据库管理系统与数据库系统
- oracle-SQL-case when 改用 DECODE
- Ubuntu16.04下安装cuda和cudnn的三种方法(亲测全部有效)
- [Web 前端] CSS篇之 4. position 和 display 的取值和各自的意思和用法
- Linux裸设备管理详解--
- 【渝粤教育】国家开放大学2019年春季 1087数学分析专题研究 参考试题
- Seaborn可视化 -- 分类统计图seaborn.catplot
- 《给忙碌者的天体物理学》pdf、mobi、epub下载
- Android 自定义view完全解析--带你通透了解自定义view
- 刚去公司,发现node版本过高,如何将node版本降低?
- 兔将十年大作《赤狐书生》特效解析:青蛙精篇
- iPhone SDK 包含哪些东西?
- TP全行业小程序运营管理系统源码+一键生成小程序
- Mysql教程(五)---SQL正则表达式
热门文章
- QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connect
- getsockname和getpeername
- 软件测试第二次作业:JUNIT单元测试方法
- RT-Thread 学习笔记(五)—— RTGUI代码解读
- elasticsearch的映射(mapping)和分析(analysis)
- PhpStorm 默认快捷键
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- BlackBerry 开发笔记入门 控件简介
- LINUX 硬链接与软链接的区别
- threejs加载obj模型_Vulkan编程指南(章节31-载入模型)