STL中二进制文件的读写
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
float data=3.14;
fstream file( "c:\\a.dat ",ios::binary|ios::out);
if(!file)
{
cerr < < "failed to open file " < <endl;
system( "PAUSE ");
return 1;
}
file < < data;
system( "PAUSE ");
return EXIT_SUCCESS;
}
我分别用vc6和dev c++编译
运行代码后 a.dat文件中怎么还是ASCII码啊?
我需要读写约一百万个单精度浮点数据 要是用文本太慢了
怎样实现真正的二进制读写呢?
请高手指点!
[解决办法]
file.write((char*)&data, sizeof(data));
[解决办法]
please do not use stream operator function such as < <
use write() instead
STL中二进制文件的读写解决方案
STL中二进制文件的读写#includeiostream#includefstreamusingnamespacestdintmain(intargc,char*argv
