C中字符串分割函数strtok的一个坑(转)
文章转载自:C中字符串分割函数strtok的一个坑 - CobbLiu - 博客园 (cnblogs.com)
strtok的典型用法是:
p = strtok(s4, split);
while(p != NULL){ printf("%s\n", p); p = strtok(NULL, split); }需要注意的是:如果s4是字符串常量,运行这一段代码会报出段错误。因为strtok为了处理方便,会更改字符串s4中的一些字符(将分隔符split更改为'\0'),而字符串常量是不能更改的,所以会报段错误。
第二个需要注意的点是:strtok处理的过程中会更改字符串s4中的一些字符(将分隔符split更改为'\0'),可恶的是,它处理完之后还不会给你再改回来。。。。被strtok强奸后的s4已经废了,千万不要再拿来用了。

浙公网安备 33010602011771号