用C ++和C#读取的不同字节值

时间:2017-02-04 09:25:17

标签: c# c++

我有一个用C ++编写的程序来读取二进制文件。我在C#中编写相同的程序。 但在某些情况下,C#会生成错误的字节。

C ++代码

ifstream s(argv[1], fstream::binary);
unsigned char b;
while(s.good())
{
     s >> b;
     //...
     //Some other code
}

C ++运行良好。

等效C#代码

BinaryReader br = new BinaryReader(new FileStream("filename.bat", FileMode.Open));
byte b;
while(br.BaseStream.Position != br.BaseStream.Length && br.BaseStream.CanRead)
{
     b = br.ReadByte();
     //...
     // some other code
}

C#的某些值与C ++不同 请帮忙谢谢。

0 个答案:

没有答案