如果沒有別的辦法
就試試以下這兩個
1.在有可能出錯的地方加 printf/cout/try catch
例:所有目錄/檔案動作、所有的 else...
2.在不可能出錯的地方加 printf/cout
看看程式是否有照你的預期跑完
a = 1;
printf("--1");
b = 1; //說不準那天 b 被改成 0 之類的
printf("--2");
c = a/b;
printf("--3");
這兩個方法的關鍵是不要認為不可能就不加 printf/cout
就像在家裡找鑰匙
所有的地方都要找
這個問題可能和權限設定有關。如果你的程式碼是在 Windows 系統中運行,你可能需要使用 Administrator 權限來執行你的程式,才能寫入新的檔案。
你可以嘗試在執行程式之前先使用 Windows 的檔案總管,建立一個新的資料夾,然後在你的程式碼中使用該資料夾的完整路徑來寫入檔案。例如:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string folder = "C:\\path\\to\\your\\folder\\";
string filename = folder + "output.txt";
ofstream fout(filename.c_str());
if (fout.is_open()) {
fout << "Hello, world!" << endl;
fout.close();
cout << "檔案寫入成功!" << endl;
} else {
cout << "無法寫入檔案!" << endl;
}
return 0;
}