如果要把一个map变量的内容写到文件,就该如何做?typedef map<string, string> map_ss;
map_ss* tmp new map_ss;
tmp中现在有400万条数据,是从数据库中读出来的,如果每次都从数据库中读将耗很长时间,能不能第一次从数据库中读,把tmp中的据有东东都写到文件,下次直接从这个文件读,节约时间,请大虾赐教,先谢谢
map_ss* tmp new map_ss;
tmp中现在有400万条数据,是从数据库中读出来的,如果每次都从数据库中读将耗很长时间,能不能第一次从数据库中读,把tmp中的据有东东都写到文件,下次直接从这个文件读,节约时间,请大虾赐教,先谢谢
CStdioFile file("mapdata.txt", CFile::modeCreate|CFile::modeReadWrite);
for(map<string, string>::iterator mi = tmp.begin(); mi != tmp.end(); ++mi)
{
CString str;
str.Format("%s=%s\n", mi->first.c_str(),mi->second.c_str());
file.WriteString(str);
}
file.Close();
//读文件
map<string, string> m1;
char buf[80];
CStdioFile file("mapdata.txt",CFile::modeRead);
while (file.ReadString(buf, 80)) {
string skey = strtok(buf, "=");
string sval = strtok(NULL, "\n");
m1[skey] = sval;
}
file.Close();