【发布时间】:2014-08-29 23:42:36
【问题描述】:
我正在使用 C# 中 System.IO 中的 BinaryReader 读取二进制文件,但是,当使用 ReadString 时,它不会读取第一个字节,代码如下:
using (var b = new BinaryReader(File.Open(open.FileName, FileMode.Open)))
{
int version = b.ReadInt32();
int chunkID = b.ReadInt32();
string objname = b.ReadString();
}
并不是什么难事,首先它读取两个整数,但是应该返回 objame 的字符串是“bat”,而是返回“at”。
这与我读过的前两个整数有关吗?或者可能是因为第一个 int 和字符串之间没有空字节?
提前致谢。
【问题讨论】:
-
你确定第一个字符串之前的整数实际上是 4 个字节长吗?也许您应该发布写入文件的代码?
标签: c# string binaryreader