64,683
社区成员
发帖
与我相关
我的任务
分享
map<string,string>::const_iterator map_it=map_new.begin() ;
while(map_it!=map_new.end())
{
out<<map_it->second<<"\t"<< map_it->first<<endl ;
map_it++;
}
#include <fstream>
#include <boost/serialization/string.hpp>
#include <boost/serialization/map.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/lexical_cast.hpp>
#include <sys/time.h>
using namespace std;
struct timeval begin;
void setUp()
{
gettimeofday(&begin,0);
}
void tearDown()
{
struct timeval end;
double elapsed;
gettimeofday(&end,0);
elapsed=(end.tv_sec-begin.tv_sec)+(end.tv_usec-begin.tv_usec)/1000000.0;
std::cerr<<" ["<<elapsed<<" s] " << endl;
}
typedef map<string, string> mymap;
// 写入168个‘a’,csdn不让发这么多的a啊
string strTest("aaaaa...");
main ( int argc, char *argv[] )
{
string filepath = "test.ini";
std::ofstream ifs((char *)(filepath.c_str()));
boost::archive::text_oarchive oa(ifs);
mymap mus;
// map中写入20w数据,每个value为168个字节。
for(int i = 0; i < 200000; ++i)
{
mus.insert(make_pair(boost::lexical_cast<string>(i),strTest));
}
setUp(); // 开始计时
oa & mus; // 写入数据
tearDown(); // 显示计时
return 0
}
[/BanUBB] map<string,string>::const_iterator map_it=map_new.begin() ;
string str="";
while(map_it!=map_new.end())
{
str+=map_it->second+"\t"+ map_it->first;
map_it++;
}
out.write(str.c_str(),str.length());