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) { }

DiyVM:499元/月香港沙田服务器,L5630*2/16G内存/120G SSD硬盘/5M CN2线路

DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,其中VPS主机基于XEN架构,支持异地备份与自定义镜像,VPS和独立服务器均可提供内网IP功能。商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;独立服务器开设在香港沙田电信机房,CN2线路,自动化开通上架,最低499元/月起。下面以...

CloudCone:$17.99/年KVM-1GB/50GB/1TB/洛杉矶MC机房

CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...

ZJI韩国BGP+CN2服务器,440元起

ZJI又上新了!商家是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务。本次商家新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码,优惠后韩国服务器最低每月440元起。韩国一型CPU:Intel 2×E5-2620 十二核二十四线...

strtok为你推荐
windowsmediawindows media player 是什么啊excel大写金额怎么在excel中设置大写金额代发邮件邮件代发会不会有短信代发那么好的市场效益呢?shoujiao手机板aoblox怎么从英文变成中文网站客服代码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得?yui3求Yui的详细资料在线沟通什么是在线状态?idataparameterweighting parameter是什么意思flex是什么Adobe是什么软件?西安娱乐西安最高端会所是哪一家
vps是什么 godaddy域名解析教程 中国域名交易中心 siteground 68.168.16.150 godaddy优惠券 淘宝双十一2018 卡巴斯基官方免费版 微信收钱 中国电信测网速 服务器托管什么意思 酷番云 上海服务器 raid10 中国电信测速器 贵阳电信 免费个人网页 闪讯网 免费获得q币 九零网络 更多