golang 读 C 写的二进制文件

wn0112 · · 1385 次点击
这个好像只能自己找\x00,切掉后面。 因为二进制数据,假如结构体已经定好是16 byte长度,读出来就是16byte, 即使未达到16byte,比如 显示 "hello", 其实它的长度是16byte, 只是后面的\x00\x00。。没有显示出来而已。 其实际字符是 "hello\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",用肉眼看,还以为是"hello",这样是没问题的。。
#3
更多评论
Read 会返回读入字符数的。 不要用定长字符数组,用切片,长度设置成从文件读入的字符数。
#1
亲,你误会了楼主的意思, 他是说对于一个固定长度的字符串,Go不是按照\0这种约定结尾的切断后面的无效字符,而是会把后面的都整个读进来。
#2