我正在开发一个应用程序,其中我遇到了包含多个'\ 000'之间的终止字符的字符串。我想要字符串中的空字符。 作为处理这个时,字符串终止于'\ 000',所以我想增加它的ASCII值。但是当我这样做时,我得到了分段错误。在字符串中用增加的ASCII值处理多个' 000'
我有以下为
char *content;
content = malloc(8);
content = "\037\000\000\000\000\037\037\037";
int content_length = 8;
content[1] = content[1] + 1; // Increasing the ASCII value
这里如果我删除这增加了ASCII码值的最后一行,我只得到1个字节在我的应用程序收到写入代码段。所以改变了第二个字节(内容[1]),然后应该传输2个字节,但是我得到了分段错误。
我做错了什么?十六进制或八进制数字是否做出这样的事情?
感谢