使用<<<<<<<<<<操作者

时间:2011-11-26 09:29:11

标签: c++

由于某些原因,此排序代码无法正常工作:

std::fstream theFile;
theFile.open(<someFilename>, std::ios::beg |std::ios::out|std::ios::binary|std::ios::trunc);
theFile << 1;          //1 is being written as a string
int var= 25;

theFile << 25;        //same thing, 25 is written as a string

可能是什么问题?我正在使用Visual Studio 2010附带的Microsoft C ++编译器。

2 个答案:

答案 0 :(得分:8)

<<运算符的全部目的是将格式化数据写入流。如果要编写二进制数据,则应使用ostream::write()ostream::put()

答案 1 :(得分:0)

您需要首先将值作为char进行类型转换,否则iostream库会将值视为int并将其格式化为可读字符串。

theFile << (char)1 << (char)25;