C++中,把一个map容器对象写到文件上并能读取,如何实现 c++ 读文件放入map

作者&投稿:龚符 (若有异议请与网页底部的电邮联系)
楼主您好,
通常有两个常见方法来完成:
1.将map遍历,取出其中的所有key-value对,按照一定格式写入文件,读取时,按照指定的格式反写回去即可,可以选择自定义读写类,或者重载>>、<<运算符来完成。

2.使用boost的序列化库(不是很方便)

注:
由于含有动态信息,
map、vector等容器都不可以直接序列化写入文件

共同进步

#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include<utility>
using namespace std;
int main(){
map<int ,string> my_map;
string word;
int count=0;
cout<<"请输入字符串数据"<<endl;
while(count!=4) {
cin>>word ;
my_map.insert(make_pair(++count,word));
}
//读入文本
ifstream ins("text.txt");
ofstream ous("text.txt");
map<int ,string>::iterator iter=my_map.begin();
for(;iter!=my_map.end();iter++){
ous<<iter->first<<" "<<iter->second<<endl;
}
//从文本中读出
map<int ,string> your_map;
while(!ins.eof()){
int key;
string value;
ins>>key>>value;
your_map.insert(make_pair(key,value));
}
for(map<int,string>::iterator itr=your_map.begin();itr!=your_map.end();itr++){
cout<<"The "<<itr->first<<"th word is"<<itr->second<<endl;

}
return 0;
}

用一个map 对象存到文件上

lua 如何实现 C++ 里的 map~

用lua封装成类似c++中map的功能方法:
实现代码如下:
1、stl_map.lua //创建一个stl_map

2、map = {} //初始化为空
3、创建一个map
function map:new()
local object = {}

setmetatable(object, self)
self.__index = self

--用一个table来保存key
self.__keyList = {}

return object
end
4、使用:
插入元素[如果已存在该key,则不做改动,和STL一致]
function map:insert(key, value)
if(self[key] == nil) then
self[key] = value
table.insert(self.__keyList, key)
end
return self
end

temptri是一个局部变量
每一遍的for都会重新定义一个triangle类型的temptri结构体(也就是申请内存)
然后执行完以后会将temptri舍弃掉

map容器如何存储三维点坐标
答:按Ctrl+S。根据map容器官网得知,map容器按Ctrl+S即可存储三维点坐标。map容器是关联容器的一种,由键值对象组成,即map容器的元素是pair类型的对象。

map<int ,int>是什么意思
答:map容器有键跟键对应的值两个变量,组成一个pair对象。刚才你写的就是键是int型,值的类型也是int型的map容器。记住,第一个类型的键类型,第二个是值类型,组成pair<const int ,int>这样的元素对。

c++中怎么返回list,map容器的指针,并在主函数中怎么接受和操作_百度知 ...
答:= mTemp.end();itTemp++){ lstTemp.push_back(itTemp->second);}return lstTemp;//这样就返回列表了}int main(){ std::map<int,int> mTemp; std::list<int> lstTemp; mTemp[1] = 100; mTemp[2] = 200; lstTemp = Fun(mTemp); std::list<int>::iterator...

java中for (Integer i : a)什么意思 map容器里的
答:自动遍历map容器里的所有integer对象元素。map<Integer> a = new map<Integer>();for (Integer i :a) { System.out.print(i);// 可以打印出a中的所有元素 }

...我在一个类里面定义了一个public static Map map,然后在程序中给它...
答:class A{ public static Map map;...} class B{ ...public void m(){ A.map ... // 因为是共有的静态对象,直接用就行了 } ...}

C++ map存放类对象,value一定要用指针吗?
答:Value不需要是指针啊,话说用指针会有问题吧,指针指向的对象可能已经被清除了。你出错的原因不一定是这里啊,可能是其他地方出错了。

C# <map></map>是什么标签
答:parentTextEdit 获取文档层次中可用于创建包含原始对象的 TextRange 的容器对象。 previousSibling 获取对此对象的上一个兄弟对象的引用。 readyState 获取对象的当前状态。 scopeName 获取为该元素定义的命名空间。 sourceIndex 获取对象在源序中的依次位置,即对象出现在 document 的 all 集合中的顺序。 STYLE ...

关于java的容器类 list,map等的toString()方法
答:);System.out.println(list.toString());1. 打印的是list.toString(),但简单说是“编译看左面,运行看右面”,深入说是运行期方法的动态分派,所以执行的是ArrayList类的toString()方法。2.ArrayList继承AbstractList 3.AbstractList继承AbstractCollention 4.AbstractCollention中重写了toString()方法 ...

java问题,数据库查到的一个map,需要截取这个map里面值的部分内容放回m...
答:map.put("1", "11111");map.put("2", "22222");map.put("3", "33333");下面的方法可以写成一个公用的方法。遍历后将截取的原放回map中,返回即可达到你想要的结果。方法可以带两个参数,一个是需要遍历的Map,另一个是key,如果key为null则遍历map,截取所有对象指定的属性。如果key有值则...

容器对象有哪些
答:二、Set接口 1.HashSet 不依put进去的顺序排序,而LinkedHashSet是依据put对象时的顺序排序。2.TreeSet 依字典顺序排序。3.EnumSet 依枚举的顺序排序。三、Map接口 Map中的每一个键都是唯一的,不能有重复的键。1.HashMap 在使用values()所返回的Collection对象,其内含对象之顺序不为当初加入对象之...