我有一个包含二进制数据的字符串。 字符串的大小为 4。其他函数将数据写入其中。 每次,数据大小不同如下,
buf[0] = '\037';
buf[1] = buf[2]=buf[3] ='\000';
或
buf[0] = '\037';
buf[1] = '\045';
buf[2]=buf[3] ='\000';
当我得到字符串的长度时,在上述情况下分别得到1和2。 我希望字符串的长度在所有情况下都是 4。
如何处理终止符?
最佳答案
每个 C 字符串函数都假定 NULL 字节 '\0' 指定字符串的结尾。您不能将包含 NULL 字节的字符串作为内容并使用标准 C 字符串函数。
您需要构建自己的字符串系统。请注意,您将需要一些其他方法来确定字符串的结束位置。
关于c - 获取具有多个 '/000' 字符的字符串的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15426510/