求教 在map中 value是结构体 ,

佛骨檀香 2014-05-21 12:09:26
#include <iostream>
#include <fstream>
#include <string>
#include <map>
#include <cmath>
using namespace std;
struct node{
int item;
int rating;
};


void main()
{
multimap<int,node>os;
ifstream data("data1.txt");
int user;
char fenhao='::';

while(data>>user>>fenhao>>node.item>>fenhao>>node.rating)

data.close();data.clear();
data.open("data2.txt");

multimap<int,node>::const_iterator iter=os.begin();
ofstream data1("data.txt");
int i=0;
while(iter!=os.end())
{
data1<<(*iter).first<<":"<<(*iter).second<<" ";

data1<<endl;
++iter;

}
data1.close();data1.clear();

}


这个定义写法有什么错误吗
...全文
491 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
罗博士 2014-05-22
  • 打赏
  • 举报
回复
引用 2 楼 u012565560 的回复:
[quote=引用 1 楼 buyong 的回复:] multimap<int,struct node>os;
谢谢 但是我还是不太理解我怎么将txt中的数据导入map呢 以前不是结构体时候我就是直接使用这个的 现在不行了 multimap<struct node,struct back>os; ifstream data("data1.txt"); int a,b,c,d char fenhao='::'; while(data>>a>>fenhao>>b>>fenhao>>c>>fenhao>>d) { os.insert(pair<struct node,struct back>(node(a,b),back(c,d))); } 这是我现在的代码 但是vc报错 [/quote] node作为键值类型,有没有重载小于号?
佛骨檀香 2014-05-21
  • 打赏
  • 举报
回复
引用 1 楼 buyong 的回复:
multimap<int,struct node>os;
谢谢 但是我还是不太理解我怎么将txt中的数据导入map呢 以前不是结构体时候我就是直接使用这个的 现在不行了 multimap<struct node,struct back>os; ifstream data("data1.txt"); int a,b,c,d char fenhao='::'; while(data>>a>>fenhao>>b>>fenhao>>c>>fenhao>>d) { os.insert(pair<struct node,struct back>(node(a,b),back(c,d))); } 这是我现在的代码 但是vc报错
buyong 2014-05-21
  • 打赏
  • 举报
回复
multimap<int,struct node>os;

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧