所以我有一个包含多个换行符转义序列的字符串。我想将字符串剪切到前n行,就像coreutils的head程序一样。比如说我有字符串“a \ nb \ nc \ n”,我想要第一行所以我希望我的输出字符串是“a”。在我需要剪切字符串的其他情况下,我只是在我希望字符串结束的位置放置一个空终止符。但是当我运行这样的东西时:
void main() {
char *str = "a\nb\nc\n";
str[1] = '\0';
}
我遇到了段错误。我真的不明白为什么。我该怎么做才能解决这个问题?