我需要將文本文檔的每一行存儲到一個向量中。然而,我嘗試的任何文件文本,輸出總是2行。第一個是空的,第二個輸出:「完成」。我在Windows7 X64上,使用VC++ 2013。即使文件不同,用C++逐行讀取文件也會輸出2行
我一直在試圖解決這個問題很多小時。我嘗試了許多不同的方法,但結果保持不變。我懷疑「完成」是來自getline()的返回值,但我不明白我的代碼是不是應該這樣工作。
int main() {
ifstream hFile("test.txt");
vector<string> lines;
string line;
while (std::getline(hFile, line))
lines.push_back(line);
cout << lines[1];
hFile.close();
getchar();
return 0;
}
編輯:但不是在VC的調試控制檯從編譯文件夾執行程序時++ ...
我想知道'test.txt'的內容是什麼。 –
您不檢查您實際閱讀的行數。 –
我嘗試了一個3行的文件:123,test和test4,以及另一個具有不同內容的文件。我知道我應該使用line.size()來獲取矢量的大小,但是我嘗試了2個不同的文件,並且行[0]總是空的,行[1]總是返回:「完成」。在我的文件中沒有任何地方出現「完成」一詞。 – 01BTC10