我有下面的C#代码:为什么C++读取的字节结果与C#不同?
FileStream fs = new FileStream("output.bin", FileMode.Open);
BinaryReader _br = new BinaryReader(fs);
var a = _br.ReadByte();
var b = _br.ReadByte();
fs.Close();
a
回报0x00
和b
回报0x03
。
但在我的C++代码:
std::ifstream ifs("output.bin", std::ios::binary);;
char buf1[2];
ifs.read(buf1, 2);
buf1[0]
回报-52
和buf1[1]
回报-52
。
我的代码有什么问题?
也许它是一个*不同的* output.bin文件?什么是十六进制转储(使用编辑器,而不是两种语言)显示? – user2864740
output.bin中前2个字节的内容是什么? – Raptor
在C++代码中,在read()调用之后ifs.gcount()会返回什么? – sj0h