FILE *fp = fopen("C:\\Documents and Settings\\Administrator\\桌面\\調試文本", "r");
if (fp == NULL) printf("文件打開失敗\n");
\\ 或正斜線 /;中文目錄需確保編碼一致(源檔編碼與運行環境編碼)。用戶在桌面建立「調試文本」,但代碼未加 .txt 副檔名。Windows 默認隱藏已知副檔名,實際檔名為 調試文本.txt。
// 修正版
fp = fopen("C:\\Documents and Settings\\Administrator\\桌面\\調試文本.txt", "r");
// 或使用正斜線跨平台相容
fp = fopen("C:/Documents and Settings/Administrator/桌面/調試文本.txt", "r");
FILE *safe_fopen(const char *path, const char *mode) {
FILE *fp = fopen(path, mode);
if (!fp) {
fprintf(stderr, "Error: Cannot open '%s' (%s)\n", path, strerror(errno));
}
return fp;
}
// 使用
FILE *fp = safe_fopen("data.txt", "r");
if (!fp) exit(EXIT_FAILURE);
Debug/Release 輸出目錄,避免絕對路徑移植問題。"rb"/"wb" 避免 Windows 換行符 \r\n 自動轉換導致位置偏移。fopen64 或 _fseeki64 處理 >2GB 檔案。"w" 模式建立新檔驗證路徑可寫。GetCurrentDirectory / pwd)是否為預期位置。