unordered_map add返回从文件c ++读入的字符串

时间:2013-01-29 19:41:24

标签: c++ ifstream

我有一个文本文件,格式为:

"stringx, stringy"
"stringx, stringy" 

e.t.c。

我已将下面的代码放在显示我如何阅读我的无序地图,解析文本并使stringx成为带有字符串值的键。

对于我试图解决的问题,我还需要另一个映射,顺序相反,即key为stringy,value为stringx。

正确输入值,当我输出straightData时,您会看到

"stringx:stringy" 

但是当我输出reverseData时,它改为

"stringy
 :stringx" 

我不知道这是否是我程序整体范围的问题(我需要获取一个密钥,将其附加到列表中,然后从密钥中获取值并使用它来查找另一个密钥/价值对)。 我只是想,如果它自动在数据中有换行符,那么

stringx

相同
(space)
stringx

我不知道我是否有意义,但一如既往,所有的帮助都将受到大力赞赏!

typedef unordered_map<string, string> mymap;

int main()
{
mymap map1;
mymap map2; 
list <pair<string, string>> list1; 
ifstream myFile;
myFile.open("values.txt");
string forParse;
string first, second;
while (getline(myFile, forParse))
{
    stringstream x(forParse);
    getline(x, first, ',');
    getline(x, second);
    map1[first] = second; 
    map2[second] = first;  
}

for (auto& x: map2) cout << x.first << ":" << x.second << endl;

0 个答案:

没有答案