使用C ++中的二进制I / O进行简单测试。 看起来在连续写入两个值之后,从同一个文件中读取会连接这两个数字。
我知道我可以使用文件流的read()和write()函数来精确控制要读取的字节数,在这种情况下一切正常。但我只是想知道我是否应该永远不要使用<<和>>,或者我使用它们不正确?
#include <iostream>
#include <fstream>
using namespace std;
int main (int argc, char* argv[]){
int a = 111;
int b = 234;
cout << a << '\t' << b << endl; // print 111 234
// save
ofstream o("a.bin",ios::out|ios::binary);
o << a << b;
o.close();
// reset to test
a = -9999;
b = -9999;
// load
ifstream i("a.bin",ios::in|ios::binary);
i >> a >> b;
cout << a << '\t' << b << endl; // print 111234 -9999
return 0;
}