可能重复:
为什么在写入字符串时会出现分段错误?
我想替换字符串中的一个单词。这是代码
char text[] = "This is a list of lists";
char *find = "list";
char* pos = NULL;
pos = strstr(text,find);
strncpy(pos,"test",4)
这工作正常,但
char *text = "This is a list of lists";
char *find = "list";
char* pos = NULL;
pos = strstr(text,find);
strncpy(pos,"test",4)
这给出了分段错误。
在第一个示例中,“文本”是一个数组,数据只是复制到该位置。在第二个“文本”是一个指针。什么是问题?