0

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

"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;
4

0 回答 0