だから私は、名前と名前を二重リンクリストに追加しようと試みています。「string、string」という形式のさまざまな長さのさまざまなテキストファイルがあり、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行のテキストを含むテキストファイルの場合、(忘れないでください)と表示されるため、混乱します。リストのサイズが48であるため、最後の行が欠落しているため、98でのみ読み取ります。
なぜ48?ペアを作成したので、それは何かをする必要がありますが、ペアは名前と名前を1つの値として取るだけなので、ペアで読み取っていないかのように意味がありません。実際には約2倍になります。
私に気が遠くなる。
もう一度、すべてのあなたの助けに感謝します!