Я пытаюсь прочитать текстовый файл, который может выглядеть следующим образом.
HI bye
goodbye
foo bar
boy girl
one two three
Я пытаюсь взять строки только из двух слов и сохранить их на карте, первое слово будетбудет ключом, а второе слово будет значением.
ниже приведен код, который я придумал, но я не могу понять, как игнорировать строки, в которых нет двух слов.
- это работает правильно, только если в каждой строке есть два слова.Я понимаю, почему это работает, только если в каждой строке есть два слова, но я не уверен, какое условие я могу добавить, чтобы предотвратить это.
pair myPair;map myMap;
while(getline(file2, line, '\0'))
{
stringstream ss(line);
string word;
while(!ss.eof())
{
ss >> word;
myPair.first = word;
ss >> word;
myPair.second = word;
myMap.insert(myPair);
}
}
map<string, string>::iterator it=myMap.begin();
for(it=myMap.begin(); it != myMap.end(); it++)
{
cout<<it->first<<" "<<it->second<<endl;
}