永发信息网

MFC 存储一个map到txt中

答案:2  悬赏:60  手机版
解决时间 2021-02-28 05:35
  • 提问者网友:niaiwoma
  • 2021-02-27 12:15
ofstream outfile ("new.txt",ios::out);
for(std::map>::iterator iter=m_mapName.begin();iter!=m_mapName.end();iter++)
{
outfile<first<<",";
for (std::vector::iterator iter1 = iter->second.begin();iter1!=iter->second.end();iter1++)
{
//outfile< }
}
outfile.close();
如上代码,我存的iter->first显示出来的是一个指针,而不是具体的数字,
第二个iter1是不能输出的,求大神解答
最佳答案
  • 五星知识达人网友:平生事
  • 2021-02-27 13:02
试试这种方式迭代输出
#include
#include
#include
#include
#include
using namespace std;

 map >::iterator biter,eiter;
    biter=mvalue.begin();
    eiter=mvalue.end();
    while(biter!=eiter)
    {
        str=biter->first;//键 
        copy(biter->second.begin(),biter->second.end(),ostream_iterator(cout," "));

        ++biter;
    }
    cout<  template  
       OutputIterator copy(  
          InputIterator _First,   
          InputIterator _Last,   
          OutputIterator _DestBeg  
        );//该算法主要用于容器之间元素的拷贝,即将迭代器区间[first,last)的元素复制到由复制目 标result给定的区间[result,result+(last-first))中。这里的ostream_iterator(cout," ")的函数原型是

ostream_iterator(
   ostream_type& _Ostr);
ostream_iterator(
   ostream_type& _Ostr, 
   const CharType* _Delimiter);
//构造一个带分隔符的ostream_iterator,该迭代器用来写入输出流。看到这里大概可以理解这段代码的意思了吧?至于写入txt,你再加入自己的代码就是了!
全部回答
  • 1楼网友:思契十里
  • 2021-02-27 13:34
for (std::map>::iterator iter=m_mapname.begin();iter!=m_mapname.end();) { std::vector & vec = iter->second; // 对vec可以进行任意的操作,删除一个元素自然不在话下 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯