strtok一个strtok分割字符串的问题

strtok  时间:2021-06-25  阅读:()

c语言 strtok请教

恩, 虽然没有看过strtok的实现 不过下面这个, 即时效果应该相同的(每执行一次函数的效果); 测试代码是直接复制msdn里的, 我只写mytoken (当然如果你原意给点分的话:p) #include char* MyToken( char *strToken, const char *strDelimit ); int main( void ) { char string[] = "A string of ,,tokens and some more tokens"; char seps[] = " , "; char *token; printf( "Tokens: " ); // Establish string and get the first token: token = MyToken( string, seps ); // C4996 // Note: strtok is deprecated; consider using strtok_s instead while( token != NULL ) { // While there are tokens in "string" printf( "%s ", token ); // Get next token: token = MyToken( NULL, seps ); // C4996 } } typedef int BOOL; #define TRUE 1 #define FALSE 0 BOOL InSide( char c, const char *str ) { while( 0 != *str ) if( c == *str ) return TRUE; else str++; return FALSE; } char* MyToken( char *strToken, const char *strDelimit ) { static char *strPoint = NULL; char *strRet; if( NULL != strToken ) strPoint = strToken; if( NULL == strPoint ) return NULL; while( 0 != *strPoint && InSide(*strPoint, strDelimit) ) *strPoint++ = 0; if( 0 == *strPoint ) return strPoint = NULL; strRet = strPoint; while( 0 != *strPoint && !InSide(*strPoint, strDelimit) ) strPoint++; if( 0 == *strPoint ) strPoint = NULL; else *strPoint++ = 0; return strRet; }

c的strtok用法,result = strtok( NULL, delims )理解不了啊

首次调用result = strtok( str, delims );时,内部有个static char *result指针指向了str 运行后result指向了now后的# 之后的循环 result = strtok( NULL, delims ); 可以看成if 参数==NULL 仍然使用上次的#位置(存在静态变量中)开始继续找,直到找到下一个分隔符#。

反复以NULL做参数,找到输出所有的#

一个strtok分割字符串的问题

strtok只能以字符来分割,不能以字符串分割,你应该使用strstr char* begin = data; char* end; while (end = strstr(begin, ".00")){ /* 对begin到end之间的字符串 做你想做的事 */ begin = end + 3; /* .00的长度*/ } /* 看看是否有最后一段 */ if (*begin) { }

HostNamaste$24 /年,美国独立日VPS优惠/1核1G/30GB/1Gbps不限流量/可选达拉斯和纽约机房/免费Windows系统/

HostNamaste是一家成立于2016年3月的印度IDC商家,目前有美国洛杉矶、达拉斯、杰克逊维尔、法国鲁贝、俄罗斯莫斯科、印度孟买、加拿大魁北克机房。其中洛杉矶是Quadranet也就是我们常说的QN机房(也有CC机房,可发工单让客服改机房);达拉斯是ColoCrossing也就是我们常说的CC机房;杰克逊维尔和法国鲁贝是OVH的高防机房。采用主流的OpenVZ和KVM架构,支持ipv6,免...

hostkvm:7折优惠-香港VPS韩国VPS,8折优惠-日本软银、美国CN2 GIA、新加坡直连VPS

hostkvm本月对香港国际线路的VPS、韩国CN2+bgp线路的VPS正在做7折终身优惠,对日本软银线路、美国CN2 GIA线路、新加坡直连线路的VPS进行8折终身优惠促销。所有VPS从4G内存开始支持Windows系统,当然主流Linux发行版是绝对不会缺席的!官方网站:https://hostkvm.com香港国际线路、韩国,7折优惠码:2021summer日本、美国、新加坡,8折优惠码:2...

UCloud:全球大促降价,云服务器全网最低价,1核1G快杰云服务器47元/年

ucloud:全球大促活动降价了!这次云服务器全网最低价,也算是让利用户了,UCloud商家调低了之前的促销活动价格,并且新增了1核1G内存配置快杰型云服务器,价格是47元/年(也可选2元首月),这是全网同配置最便宜的云服务器了!UCloud全球大促活动促销机型有快杰型云服务器和通用型云服务器,促销机房国内海外都有,覆盖全球20个城市,具体有北京、上海、广州、香港、 台北、日本东京、越南胡志明市、...

strtok为你推荐
时间刻度Microsoft Project 时间刻度怎么更改短信营销方案家装短信营销如何进行才有效?上行宽带上行宽带是什么?java程序员招聘为什么Java程序员工资都很高腾讯合作伙伴大会腾讯位置服务是什么?医院排队系统医院排队机和医院排队机的区别有哪些?动画分镜头脚本请问什么是动画分镜头脚本,什么是电影分镜头脚本以及什么是广告分镜头脚本?彩信平台请问彩信平台升级怎么改参数能告诉我具体步骤吗?怎样删除聊天记录自己已发出的微信聊天记录怎样删除才不会让对方看见短信套餐移动有什么短信包月套餐,怎么开通?
免费域名空间 泛域名 godaddy域名注册 php主机租用 国外免费域名网站 3322动态域名 bandwagonhost 美国翻墙 kddi 紫田 e蜗牛 dux 电子邮件服务器 电信虚拟主机 息壤代理 web服务器安全 申请网页 银盘服务 闪讯官网 智能dns解析 更多