#include <fstream>
#include <map>
using namespace std;
typedef struct
{
int a;
int b;
}stru;
int main()
{
stru s;
s.a = 1;
s.b = 2;
map<int, stru> m;
m.insert(make_pair(22, s));
ofstream os("test");
int sizeOfStruct = sizeof(stru);
std::map<int, stru>::iterator itr;
for(itr = m.begin(); itr != m.end(); itr++)
{
os.write((char*)(&(itr->first)), sizeof(int));
os.write((char*)(&sizeOfStruct), sizeof(int));
os.write(itr->second, sizeOfStruct);
}
}
对于此代码,我收到以下错误:
mapOnfile.cc: In function ?int main()?: mapOnfile.cc:29: error: no
matching function for call to ?std::basic_ofstream<char,
std::char_traits<char> >::write(stru&, int&)?
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/ostream.tcc:483:
note: candidates are: std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>::write(const _CharT*,
std::streamsize) [with _CharT = char, _Traits =
std::char_traits<char>]
请帮帮我,如何在二进制文件中保存这种类型的地图 图
请不要提供任何Boost序列化答案。