我只想编写一个简单的文本文件:

ofstream test;
test.clear();
test.open("test.txt",ios::out);
float var = 132.26;
BYTE var2[2];
var2[0] = 45;
var2[1] = 55;
test << var << (BYTE)var2[0] << (BYTE)var2[1];
test.close();


但是在输出文件中,我得到:

132.26-7


我不明白问题是什么...

最佳答案

BYTE只是无符号字符的别名。默认情况下,在流中输出字符时,它将转换为其ASCII字符。在ASCII表中,字符45为“-”,字符55为“ 7”。

尝试以下方法:

test << var << (int)var2[0] << (int)var2[1];

07-24 09:45
查看更多