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

strtok()函数如何使用

2012-02-22 
strtok()函数怎么使用/*Note:YourchoiceisCIDE*//*函数说明:strtok()用来将字符串分割成一个个片段,参数s

strtok()函数怎么使用
/*   Note:Your   choice   is   C   IDE   */      
/*函数说明:strtok()用来将字符串分割成一个个片段,  
参数s指向欲分割的字符串,   参数delim则为分割字符串,   当strtok()在参数s
的字符串发现到参数delim的分割字符时则会将该字符改为\0字符。在第一次调用时,
strtok()必需给予参数s字符串,  
往后的调用则将参数s设成NULL。   每次调用成功则返回下一个分割后的字符串指针。
*/
#include   "stdio.h "
#include   "string.h "
main()
{
char   *s= "dd   cdma   dda ";
char   e[26];
char   *m;  
char   *tt= "   ";
int   maxlen=0,minlen=0;
memset(e,0,26);
m=strtok(s,tt);
maxlen=strlen(m);  
printf( "%i ",maxlen);
printf( "%s\n ",m);/*pointer   assignment       */
printf( "\n ");    
while(m)
{
m=strtok(NULL,tt);
printf( "%s ",m);

minlen=strlen(m);
if(maxlen <minlen)
{              
memset(e,0,26);
strcpy(e,m);
maxlen=minlen;
}      
}
printf( "%s ",e);
printf( "\n ");    
}
上面是我写的一个测试代码能够编译结果不对
在TC和VC6。0中都不能成功得到结果

[解决办法]
printf( "%s ",m); /*加了这一句输出结果的函数就不能得到正确结果,但是删除这一句就能得到结果,为什么*/
===========================
前面加上
if(!m) break;

热点排行