我有一个文本文件,格式为:
"stringx, stringy"
"stringx, stringy"
ETC
我将我的代码放在下面,以显示我如何读取我的无序映射、解析文本并使 stringx 成为键和 stringy 值。
对于我试图解决的问题,我还需要另一个映射,以相反的顺序,即键是字符串,值是字符串x。
值输入正确,当我输出直接数据时,你会看到
"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;