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

spinservers($89/月),圣何塞10Gbps带宽服务器,达拉斯10Gbps服务器

spinservers是Majestic Hosting Solutions LLC旗下站点,主要提供国外服务器租用和Hybrid Dedicated等产品的商家,数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。目前,商家针对部分服务器提供优惠码,优惠后达拉斯机房服务器最低每月89美元起,圣何塞机房服务器最低每月...

搬瓦工香港 PCCW 机房已免费迁移升级至香港 CN2 GIA 机房

搬瓦工最新优惠码优惠码:BWH3HYATVBJW,节约6.58%,全场通用!搬瓦工关闭香港 PCCW 机房通知下面提炼一下邮件的关键信息,原文在最后面。香港 CN2 GIA 机房自从 2020 年上线以来,网络性能大幅提升,所有新订单都默认部署在香港 CN2 GIA 机房;目前可以免费迁移到香港 CN2 GIA 机房,在 KiwiVM 控制面板选择 HKHK_8 机房进行迁移即可,迁移会改变 IP...

pacificrack:超级秒杀,VPS低至$7.2/年,美国洛杉矶VPS,1Gbps带宽

pacificrack又追加了3款特价便宜vps搞促销,而且是直接7折优惠(一次性),低至年付7.2美元。这是本月第3波便宜vps了。熟悉pacificrack的知道机房是QN的洛杉矶,接入1Gbps带宽,KVM虚拟,纯SSD RAID10,自带一个IPv4。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7折秒杀优惠码:R3UWUYF01T内存CPUSS...

strtok为你推荐
dnf装备代码DNF红眼装备代码scriptmanagerScriptManager是什么avc是什么格式手机avc格式怎么剪辑pat是什么格式photoshop填充图案是pat格式,需用什么软件打开?请高人指点,谢谢~broadcast播哈尔滨哪里有卖broadcast播 这个服装品牌的shoujiao如何区分是不是颈椎病?微信如何只发文字微信朋友圈怎样只发文字音乐代码在html中插入mp3音频的代码是什么特斯拉model3降价小鹏P7和特斯拉Model 3,买哪个更加划算?防火墙技术应用在网络支付流程中,防火墙技术与数据加密技术应用则重点有什么不同?
域名升级访问 到期域名查询 域名备案只选云聚达 免费cn域名 瓦工 edis 监控宝 e蜗牛 已备案删除域名 免费吧 香港新世界中心 国外视频网站有哪些 申请网站 空间首页登陆 www789 lick 独立主机 ledlamp lamp的音标 xuni 更多