ChinaUnix.net
相关文章推荐:

strtok

int main() { char *a= "abc de ft"; char *b=" "; char *p; p=strtok( a,b ); while( p!= NULL ) { printf( "%s\n",p ); p = strtok( NULL,b ); } } 为什么我运行后出错Segmentation fault 还有就是不明白为什么调用一次以后第一个参数必须是null

by houtinghua - C/C++ - 2012-11-27 14:54:01 阅读(1406) 回复(7)

相关讨论

char * __cdecl strtok ( char * string, const char * control ) { unsigned char *str; const unsigned char *ctrl = control; unsigned char map[32]; int count; #ifdef _MT _ptiddata ptd = _getptd(); #else /* _MT */ static char *nextoken; #endif /* _MT */ /* Clear control map */ for (count = 0; count < 32; count+...

by yjqyml - C/C++ - 2007-07-24 14:25:16 阅读(2615) 回复(6)

函数strtok(str1,str2) 在执行后str1的字符串是否已经被改成函数结果字符串? str2是否能用字符和数字的合用字符串? #include "string.h" #include "stdio.h" main() { char s[2000]="02349799nx4210RQ000000"; char d[15]="TranCode4"; char *p=NULL; p=strtok(s,d); printf("s==%s\n",s); printf("p==%s\n",p); return 0; } 结果为 s==023 p==023 #include "string.h...

by 凌霄 - C/C++ - 2007-12-20 11:05:39 阅读(1260) 回复(2)

[code]#include int main(int argc, char** argv) { char *s = strdup("333.444.555.666/12"); //注意这一行 char *delim1 = "./"; char *p; printf("%s",strtok(s,delim1)); while(( p = strtok(NULL,delim1))) printf("%s",p); printf("\n"); } #include int main(int argc, char** argv) { char *s = "333.444.555.666/12"; //需要注意的行 char *de...

by lewis_c402 - C/C++ - 2007-11-12 10:05:03 阅读(1192) 回复(6)

#include #include #include main() { char *a="aaa?bbb?ccc?"; //char a[]="aaa?bbb?ccc?"; char *delim="?"; char *p; printf("%s\n", strtok(a, delim)); while((p=strtok(NULL, delim))) printf("%s\n", p); printf("\n"); } 这段程序 如果用char *a的话就会报segment fault的错误,如果用char a[]的话就没问题,请问为什么?谢谢 [ 本帖最后由 xiehc 于 2009-5-14 09:46...

by xiehc - C/C++ - 2009-05-14 11:38:18 阅读(1539) 回复(12)

strtok函数的原型是char *strtok(char *str, const char *delim); 可是在使用的时候如果第一个参数是指针的形式,比如 char *s="abd,d",那运行的时候就会出错,换成数组的形式后就没有问题,比如char s[]="abd,d"; 为什么会出现这种情况??下面是一个例子代码。 [code] 1 #include 2 #include 3 4 int main(void) 5 { 6 char s[]="Golden,Global,View";//若这样定义char *s="Golden,Glob...

by szjrabbit - C/C++ - 2009-04-02 17:05:21 阅读(1096) 回复(4)

char *str="a:b:c:d:e"; 用strtok分老是段错误,改为char str[]="a:b:c:d:e";就可以。 我传的是指针怎么办?

by udb6688 - C/C++ - 2009-02-02 17:04:38 阅读(1041) 回复(5)

做着玩,请高手指教. [CODE] #include #include char * strtok1(char *s,const char *delim) { static char *p,*end; if(s){ end=s; while(*end){ if(strchr(delim,*end)) *end=0; ++end; } p=s; while(*p++); while((!(*p))&&(p

by weiqiboy - C/C++ - 2006-12-30 11:04:41 阅读(1103) 回复(1)

我在使用strtok分割字符串的时候,如果两个分隔符连在一起,即有一个空串的时候无法正确得到空串,分出来的是下一个字符串,例如"abc;;def",本来第二个应该得到一个空串,实际得到的是"def",有解决的办法么,谢了!!

by ka7500 - 其他UNIX - 2006-06-13 12:40:12 阅读(841) 回复(0)

我自己想写个函数实现strtok的功能,分隔字符串的功能我能实现 但是,确定分割符号我总搞不定 strtok(char*ptr1,char *ptr2) 里边char *ptr2 是传分割符的 ,但是怎么确定随机的分割符号呢 分割符很随机,应该怎么判断传进来的分割符号,并把他们和其他字符区分开呢 要是固定的 我直接跳过那些字符就好了 ,可是是随机性的,该怎么处理呢 我看了strtok的源函数 看不懂它是怎么处理的 /* Clear control map */ ...

by 灿烂涅磐 - C/C++ - 2005-11-16 21:15:30 阅读(1592) 回复(5)

问个问题,象下面方法使用strtok函数 a="dsdsdsdsd"; printf("string is %sn",strtok(a,"body")); 显示的的结果老不对,哪位提示一下?

by xnkjdx1998 - C/C++ - 2005-11-10 13:35:39 阅读(677) 回复(4)