我有下面的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