看板 C_and_CPP 關於我們 聯絡資訊
【補充說明】:可以利用一下 Win32 的 GetLastError 函式,來找出問題來源。 // 函式 GetLastError 的標頭檔 #include <Windows.h> … // 錯誤代碼 DWORD ferror = 0; … // 放在出錯的下方 // 取得錯誤代碼 ferror = GetLastError(); // 顯示錯誤代碼 // 假如顯示是 2(0x2) 就是找不到指定的文字檔案 cout << "Error code = " << ferror << endl; 【代碼連結】:http://codepad.org/cGufiAmb 【參考資料】: *. http://ppt.cc/Cp~a (MSDN GetLastError) *. http://ppt.cc/GDYG (MSDN 錯誤代碼表) ※ 引述《pigcat1315 (還是朋友?)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : vs2008 : 問題(Question): : 我用這個 path.c_str() 轉成char 在dev中明明可以讀檔 : 在vs2008中可以編譯過 但卻會讀不到檔案,因為會印出open file fail : 但...我在這之前用cout<< path.c_str() 是有檔名阿 : 預期的正確結果(Expected Output): : 會跳到讀檔那 : 錯誤結果(Wrong Output): : 開不起檔案 : 程式碼(Code):(請善用置底文網頁, 記得排版) : string path="xx.txt"; : fstream file; : file.open(path.c_str(),ios::in|ios::binary ); : int i=0; : if(file.is_open() == 0) /* 假如開檔失敗 */ : { : cout<<"open file fail \n"; : } : while (!file.eof()) : { : file >> trainingimagenumber_buf[i]; : i++; : } : file.close(); : 補充說明(Supplement): -- *. 個人網頁:http://steamcommunity.com/id/Big_John-tw *. RaidCall:肥羊小窩《美國陸軍》(4406051) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.20.120.62