所以我正在尝试尝试将名字和姓氏添加到双链表中。我有各种不同长度的文本文件,格式为“字符串,字符串”,并且正在使用 list> 来存储我的数据。
我正在使用这段代码:
typedef std::list< std::pair<string,string> > listPair;
...
list<pair<string, string> > mylist;
ifstream myFile;
myFile.open("20.txt");
pair<string, string> stuff;
while (myFile >> stuff.first >> stuff.second)
{
mylist.push_back(stuff);
}
listPair::iterator iter = mylist.begin();
for(;iter != mylist.end();iter++)
{
string s = (*iter).first;
cout << s << endl;
string c = (*iter).second;
cout << c << endl;
}
现在我遇到的问题是,首先,列表中的最后一项没有被添加。就像每个文件都错过了最后一行,所以这有点令人困惑。
另外,我正在执行“mylist.size()”以确保已添加所有名称,这让我感到困惑,因为对于包含 99 个名称的文本文件,即 99 行文本,它会说(不要忘记它由于缺少最后一行,仅读取 98)列表的大小为 48。
为什么是 48?是不是因为我已经完成了对,这仍然没有意义,就好像它不是成对阅读一样,实际上会有两倍的 about,因为这些对只是将名字和姓氏作为一个值。
让我难以置信。
再次感谢您的帮助!