由于某些原因,此排序代码无法正常工作:
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 ++编译器。
答案 0 :(得分:8)
<<
运算符的全部目的是将格式化数据写入流。如果要编写二进制数据,则应使用ostream::write()
或ostream::put()
。
答案 1 :(得分:0)
您需要首先将值作为char
进行类型转换,否则iostream库会将值视为int
并将其格式化为可读字符串。
theFile << (char)1 << (char)25;