strlen()给出了数组中空字节的错误大小原因

ism*_*ran -2 c c++ arrays strlen deserialization

我有一个从流反序列化的动态char数组.

char *myarray文件内容(使用hexal编辑器):

      4F 4B 20 31 32 20 0D 0A 00 00 B4 7F
Run Code Online (Sandbox Code Playgroud)

strlen(myarray) 返回8,(必须是12)

Dan*_*her 10

strlen 将字符计数到前0个字符,这就是它的用途.

如果你想知道反序列化数组的长度,你必须从其他地方得到它,反序列化代码应该知道它反序列化的数组有多大.


upd*_*liu 5

strlen(myarray)返回第一个的索引00myarray.

  • OP知道这一点,阅读问题的标题:) (3认同)