问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言strtok函数使用问题。

发布网友 发布时间:2022-04-28 12:57

我来回答

3个回答

热心网友 时间:2023-09-05 04:30

  strtok函数会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。如果要保持原字符串的完整,可以使用strchr和sscanf的组合等。
  strtok是一个线程不安全的函数,因为它使用了静态分配的空间来存储被分割的字符串位置
  线程安全的函数叫strtok_r,ca。
  运用strtok来判断ip或者mac的时候务必要先用其他的方法判断'.'或':'的个数,因为用strtok截断的话,比如:"192..168.0...8..."这个字符串,strtok只会截取四次,中间的...无论多少都会被当作一个key。
  函数strtok保存string中标记后面的下一个字符的指针,并返回当前标记的指针。
  后面再调用strtok时,第一个参数为NULL,继续将string标记化。NULL参数表示调用strtok继续从string中上次调用 strtok时保存的位置开始标记化。
  如果调用strtok时已经没有标记,则strtok返回NULL。注意strtok修改输入字符串,因此,如果调用strtok之后还要在程序中使用这个字符串,则应复制这个字 符串。

热心网友 时间:2023-09-05 04:30

#include<stdio.h>
#include<string.h>
#include<malloc.h>//动态内存分配函数malloc和free的头文件
int main()
{
int i,s;
char *a,*p,*str[100];
a=(char*)malloc(sizeof(char)*100);//开辟一个最大字节长度为100的空间
scanf("%[^\n]",a);//将开辟的空间拿来做字符串,使用scanf无法输入空格后面的[^\n]过滤了换行符之后的字符,这样就没事了
getchar();//还需要吸收垃圾字符,这个不能没有否则会出现死循环
p=strtok(a," ");//第一次以空格符分割
for(s=0;p;s++)//当p为空时跳出
{
str[s]=p;//将分割的传给指针数组str,str相当于字符串数组
p=strtok(NULL," ");//接着在分割
}
printf("%s",str[0]);
for(i=1;i<s;i++)
printf(" %s",str[i]);
printf("\n");
free(a);//释放内存
return 0;
}
VC++6.0测试通过

热心网友 时间:2023-09-05 04:30

#include<stdio.h>
#include<string.h>
#include<malloc.h>//动态内存分配函数malloc和free的头文件
int main()
{
int i,s;
char *a,*p,*str[100];
a=(char*)malloc(sizeof(char)*100);//开辟一个最大字节长度为100的空间
scanf("%[^\n]",a);//将开辟的空间拿来做字符串,使用scanf无法输入空格后面的[^\n]过滤了换行符之后的字符,这样就没事了
getchar();//还需要吸收垃圾字符,这个不能没有否则会出现死循环
p=strtok(a," ");//第一次以空格符分割
for(s=0;p;s++)//当p为空时跳出
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 世界名曲萨卡布兰集市怎么样才能设置为铃声 谁能推荐一些经典的世界名曲? 世界名曲《斯卡布罗集市》原唱是谁? 谁知道一个世界名曲名字叫什么集市来着??是个女的唱的 安卓智能手机,(魅族魅蓝note)支持OTG功能的手机,能读移动硬盘吗,最大能读多少G的移动硬盘? 什么手机otg怎样才能带起1t的移动硬盘... OPPO Reno 十倍变焦版 能用OTG能用移动硬盘? 可以用OTG功能读取移动硬盘吗? 请问手机的OTG功能一般是多大功率?能否带动移动硬盘? 微信支付密码不知道,怎么办 手机otg能连接移动硬盘吗?如果可以连接,最大内存是多少? 求助,手机使用otg线是否可以读取移动硬盘内 移动硬盘支持OTG的手机可以用吗? 微信支付密码忘了咋办 保险行业背话术的意义 保险公司的我为服务献良策演讲稿? 寿险功能与意义演讲稿 css 多个按钮放在一张图片上。 例如电驴搜索那个 怎么实现 鸭肝怎么去腥? 方太抽油烟机用什么方法清洗油污好? 请介绍几首世界名曲英文的 卡斯布罗集市 背景故事 想知道这首音乐的来源. 听说是一首世界名曲名字是斯卡萨布伦爵士有一句歌词im going to the sabereto应该是可找不到,求真名 小米起床铃声主人起床啦 斯卡布罗集市是谁唱的 不是说是中国人吗? 叫张佳欢? 懒猪起床了,阳光快要晒到*了,外面有最美丽的清晨,懒猪起床了,再不起床就要迟到了。铃声的下载地址 著名世界名曲 c语言中strtok函数使用10次后无效是什么原因? 王一博的起床铃声在哪可以下载,我在QQ音乐和网易云音乐都没搜到,求告知 急求 陈绮贞叫你起床 所有版本起床铃声 求一些外国名曲 c语言,关于strtok 请大家介绍一些世界名曲来听听!比如象门德尔松的春之歌 这么幽雅的曲子 求悲伤的英文歌,或世界名曲?要好听的! 求像斯卡布罗集市和GOLDEN KEY这样的歌曲 求一套世界著名轻音乐专辑(含安妮的仙境、宋家王朝等12首世界名曲),要mp3格式的。谁有的话,请发到我的 斯卡布罗集市是个地名,还是一个歌词。 求塞巴斯蒂安叫你起床(大小姐)的起床铃声下载可以的话最好还有塞巴斯说晚安、午安之类的通通都要? 张佳欢有什么歌 一首很有意境的老英文歌 世界名曲 有一句翻译成中文大概是你曾去过某某地方吗