我不知道該怎麼做。我寫了一個讀取.obj文件的函數,與用於處理來自文本文件的信息的幾十個其他示例函數不同。我已經包含了fstream,iostream和sstream。它編譯。然而,當我運行它,我得到:fstream包含但「ifstream未找到」和「標識符未定義」
在那抱怨 約訪問衝突寫入位置(我讀,不寫 ...)內存地址(NTDLL.DLL)未處理的異常。
如果我在「ifstream myfile(...)」行放置中斷,則顯示「Unable to read memory」,而不是「ifstream myfile」讀取標識符「myfile」閱讀字符串的字符也發生之前,爲了未處理的異常,則對getline通話過程中
執行停在這裏的fstream:
virtual void __CLR_OR_THIS_CALL _Lock() { // lock file instead of stream buffer if (_Myfile) _CSTD _lock_file(_Myfile); }
相關的代碼,不多看...很直接轉發的東西。「文件」是一個const char * r eads「C:\ cube.obj」。使用命名空間標準。
ifstream myfile(file, ios::in);
if (myfile.is_open())
{
if (myfile.good())
{
string line;
while (std::getline(myfile, line))
{
// Foo
}
}
}
myfile.close();
我不明白地球上myfile是如何定義的,儘管直接聲明它。 fstream顯然是正確的,並且可以訪問。該文件是它應該在的地方。
如何進一步調試?教我,聰明的人。在Visual Studio 2013中使用C++ 11.
C:\目錄可能無法訪問您的程序的權限級別。嘗試將cube.obj放在文檔中。 – IllusiveBrian 2014-11-05 16:09:04
從我記憶中,你需要跨越聲明行,然後才能獲得有關創建對象的信息。 – chris 2014-11-05 16:09:14
順便說一句,你不需要關閉ifstream,析構函數會做到這一點。 – 2014-11-05 16:11:40