首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于char *strtok(char *strToken,const char *strDelimit)的疑问,该如何解决

2012-02-17 
关于char *strtok(char *strToken,const char *strDelimit)的疑问#includestring.h#includestdio.hcha

关于char *strtok(char *strToken,const char *strDelimit)的疑问
#include   <string.h>
#include   <stdio.h>

char   string[]   =   "A   string\tof   ,,tokens\nand   some   more   tokens ";
char   seps[]   =   "   ,\t\n ";
char   *token;

void   main(   void   )
{
printf(   "%s\n\nTokens:\n ",   string   );
/*   Establish   string   and   get   the   first   token:   */
token   =   strtok(   string,   seps   );
while(   token   !=   NULL   )
{
/*   While   there   are   tokens   in   "string "   */
printf(   "   %s\n ",   token   );
/*   Get   next   token:   */
token   =   strtok(   NULL,   seps   );
}
}

在token   =   strtok(   NULL,   seps   )中,它是如何知道拆分的目的串是哪一个呢?如何记录下目的串?

[解决办法]
这个函数用到了静态变量。所以会记录下来的
[解决办法]
没错,静态地
[解决办法]
楼上的很详细了,
在调用时,strtok函数根据第一个参数是否为空来盘盘读是否是第一此调用,如果不为空就用一个静态变量保存
指针的位置,下次再调用是根据其值来分割字符串.不过strtok会改变原字符串的,这点楼主要注意.

热点排行