【发布时间】:2019-11-02 06:20:09
【问题描述】:
我已将代码从 here 修改为以下代码中的 char[50] 为 char*:
#include <stdio.h>
#include <string.h>
int main ()
{
// change made in following line from char string[50]
char *string ="Test,string1,Test,string2:Test:string3";
char *p;
printf ("String \"%s\" is split into tokens:\n",string);
p = strtok (string,",:");
while (p!= NULL)
{
printf ("%s\n",p);
p = strtok (NULL, ",:");
}
return 0;
}
但是,我得到segmentation fault 上面的代码。
如何在上面的代码中使用指针版本?
另外,segmentation fault 是否会损坏磁盘上的数据?
【问题讨论】:
标签: c string segmentation-fault strtok string-literals