我有一个文本文件,格式为:
"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;