FILE *fp = fopen("file1", "r"); // 需確保執行目錄包含 file1FILE *fp = fopen("C:/file/file1", "r");FILE *fp = fopen("C:\\\\file\\\\file1", "r");argv[0] 獲取可執行文件路徑,構建數據文件絕對路徑,避免「雙擊運行 vs 命令行運行」工作目錄不一致導致找不到文件。/,Windows C 標準庫完全支持。errno / perror,區分「文件不存在」「權限不足」「路徑過長」等錯誤碼。| 現象 | 原因 | 修正 |
|---|---|---|
| IDE 中能跑,雙擊 exe 失敗 | 工作目錄不同 | 用絕對路徑或 GetModuleFileName 定位 |
| 路徑含中文亂碼 | 編碼不一致 (GBK vs UTF-8) | 源文件存 UTF-8,調用 _wfopen 寬字符版 |
| 單反斜槓 \ 被轉義 | C 字符串轉義 | 寫雙反斜槓 \\\\ 或正斜槓 / |