什麼時候C++中的getline失敗?什麼時候會在C++中執行getline函數調用時設置failbit?
我的代碼片段大,我是無法將其全部五花八門的理由進行粘貼。我試圖從一個文件中讀取,我知道它存在幷包含數據,在C++中使用getline。但getline無法返回錯誤123-無效名稱(getlasterror的輸出)。我查了一下讓我更加困惑的錯誤代碼。
我在打開文件時進行錯誤檢查。所以我肯定我有處理文件。 請不要粘貼代碼。我對C++很陌生,特別是在windows中。任何關於getline的建議或見解都會有所幫助。我正在嘗試讀取由編譯器轉儲的文件。
這是摘自代碼
ifstream inFile("C:\...\ash.txt",ios::in);
string singleLine;
getline(inFile,singleLine);
SINGLELINE是空的!我正在做一些愚蠢的事情..請指出這對我來說!欣賞它
重要編輯:
我檢查了ios的成員,發現失敗位。爲什麼會設置失敗位?該文件確實存在,我也想知道如何Windows暴露文件擴展名可能會導致一個問題。這似乎沒有問題。我錯過了什麼?
粘貼,然後只是打開文件和閱讀與getline ... –
它可能已經達到EOF。檢查流,如果它是'壞()' –
@hexa我檢查了壞位..失敗位是那個失敗 – ash