c - 获取具有多个 '/000' 字符的字符串的大小

标签 c string

我有一个包含二进制数据的字符串。 字符串的大小为 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/

相关文章:

c - short int 和 unsigned short 的输出?

c - s37 和 elf 文件之间的差异

c - 代码解释 C 中的 QSORT 代码

c - 加入 POSIX 线程返回 3

python - 如何从字符串创建 n 个字母计数

c++ - 在 C++ 中使用 sprintf 和 std::string

c# - 如何从 C# 应用程序创建 HTML 文本?

c - 尝试在 C 中执行按位操作,出现意外结果

c - strcmp 在我的代码中不起作用

Java- JTextPane 中的 "Circular"选择?