strtok令人困惑,比如 char string[]="ab1234ab2345ab5678",

wh_blackbird 2003-10-09 11:40:54
char sep[]="17";
stoken = strtok(string ,sep);
stoken 居然为 "ab";
谁能帮忙,马上给分。
...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyangcheng 2003-10-21
  • 打赏
  • 举报
回复
借用一下樓主寶地﹕
string max(string str1,string str2)
{
string str1="abc",str2="cda";
return str1>str2?str1:str2;
}


如上代碼﹐string類可以直接比較大小嗎?
Thanks!
wh_blackbird 2003-10-09
  • 打赏
  • 举报
回复
sep ="ab";
stroken 的value ="1234";语言是为什么?
zzsxqzzsxq3000 2003-10-09
  • 打赏
  • 举报
回复
楼主可能不清楚strtok用法,建议看一下msdn,那里讲的很详细。
Hot_Forever 2003-10-09
  • 打赏
  • 举报
回复
ab是第一次分割字符串后的输出,如果要输出所有的分割结果程序应该如下:
#include <string.h>
#include <stdio.h>

char string[] = "ab1234ab2345ab5678";
char sep[] = "17";
char *token;

void main( void )
{
printf( "%s\n\nTokens:\n", string );
/* Establish string and get the first token: */
token = strtok( string, sep );
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token );
/* Get next token: */
token = strtok( NULL, sep);
}
getchar();
}
fierygnu 2003-10-09
  • 打赏
  • 举报
回复
对的,是用sep中的1个或多个字符作为分隔符,现在满足的是1,所以返回"ab"。楼主看看strtok的说明就清楚了。
Hot_Forever 2003-10-09
  • 打赏
  • 举报
回复
把全部代码都贴上来
tiejun 2003-10-09
  • 打赏
  • 举报
回复
string 那来的?
wh_blackbird 2003-10-09
  • 打赏
  • 举报
回复
up

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧