0
我創建了一個非常簡單的代碼,但是push_back函數不想工作。它給了我一個完全不同於預期的結果。vector push_back不起作用
下面是代碼:
std::vector<std::string> words;
std::ifstream infile ("words.txt");
std::string temp;
while (std::getline(infile, temp))
{
words.push_back(temp);
}
for (std::size_t i = 0; i < words.size(); i++)
{
std::cout << words[i] << " ";
}
的 「words.txt」 文件只包含4個字:
window
tyre
give
speaker
結果被認爲是 「窗口輪胎給揚聲器」,但對於我是「揚聲器」。 問題是什麼?
您確定您正在閱讀_correct_文件嗎? – P0W
您是否嘗試過對輸入文件進行轉儲(例如使用'hexdump -C'或類似的方法)來檢查流氓控制序列,比如'\ r',這可能會解釋您所看到的行爲。 (您的輸入文件可能是來自DOS/Windows系統的文本文件,您可能正在使用類似unix的系統。) –
是的,我是。我試圖編輯它,但我總是說最後的話。 – mitya221