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

819云互联(800元/月),香港BGP E5 2650 16G,日本 E5 2650 16G

819云互联 在本月发布了一个购买香港,日本独立服务器的活动,相对之前的首月活动性价比更高,最多只能享受1个月的活动 续费价格恢复原价 是有些颇高 这次819云互联与机房是合作伙伴 本次拿到机房 活动7天内购买独立服务器后期的长期续费价格 加大力度 确实来说这次的就可以买年付或者更长时间了…本次是5个机房可供选择,独立服务器最低默认是50M带宽,不限制流量,。官网:https://ww...

美国服务器20G防御 50G防御 688元CN2回国

全球领先的IDC服务商华纳云“美国服务器”正式发售啦~~~~此次上线的美国服务器包含美国云服务器、美国服务器、美国高防服务器以及美国高防云服务器。针对此次美国服务器新品上线,华纳云也推出了史无前例的超低活动力度。美国云服务器低至3折,1核1G5M低至24元/月,20G DDos防御的美国服务器低至688元/月,年付再送2个月,两年送4个月,三年送6个月,且永久续费同价,更多款高性价比配置供您选择。...

盘点AoYoZhuJi傲游主机商8个数据中心常见方案及八折优惠

傲游主机商我们可能很多人并不陌生,实际上这个商家早年也就是个人主机商,传说是有几个个人投资创办的,不过能坚持到现在也算不错,毕竟有早年的用户积累正常情况上还是能延续的。如果是新服务商这几年确实不是特别容易,问到几个老牌的个人服务商很多都是早年的用户积累客户群。傲游主机目前有提供XEN和KVM架构的云服务器,不少还是亚洲CN2优化节点,目前数据中心包括中国香港、韩国、德国、荷兰和美国等多个地区的CN...

strtok为你推荐
activity跳转android 两个activity之间是怎么实现跳转的离线包地图包包是什么牌子短信营销方案短信平台应该如何推广和运营啊?netbios协议机子上启动了netbios协议,为什么还是运行不了netbios命令java程序员招聘Java程序员,一般招聘都要求些啥sms是什么短信验证是什么?全局钩子加载全局钩子是什么,每次进入股票软件都说加载全局钩子,是中病毒了吗腾讯合作伙伴大会从微信同程旅行买的机票怎么打印电子发票?防火墙技术应用防火墙的应用与研究论文erp系统教程在一个公司里怎样去学ERP
阿里云os 联通c套餐 私人服务器 win8.1企业版升级win10 2017年万圣节 免费博客空间 网通代理服务器 免费smtp服务器 个人免费空间 免空 秒杀预告 泉州电信 爱奇艺vip免费试用7天 鲁诺 四核服务器 免费私人服务器 什么是web服务器 服务器硬件配置 湖南铁通 windowsserver2008 更多