C++如何读写二进制文件
#include <fstream>
#include <iostream>
using namespace std;
void main()
{
char *fileName = "1.dat";
ofstream os(fileName, ofstream::binary);
short b = 128;
os << b ;
ifstream is(fileName, ifstream::binary);
short a;
is >> a;
cout << a << endl;
}
为什么输出是-13108
[解决办法]
需要刷新缓冲区
os << b ;os.flush();ifstream is(fileName, ifstream::binary);short a;is >> a;cout << a << endl;