本單元常犯錯誤總覽
| # | 錯誤描述 | 錯誤類型 | ✗ 錯誤寫法 | ✓ 正確寫法 |
|---|---|---|---|---|
| 1 | 上傳 OJ 忘記拿掉 freopen/ifstream | Wrong Answer(讀不到輸入、標準輸出一片空白) | 交卷的程式還留著 freopen |
上傳前註解掉;或用 #ifdef LOCAL 模板 |
| 2 | 檔案真名其實是 input.txt.txt |
開檔失敗 | 副檔名被隱藏時再打一次 .txt |
打開「顯示副檔名」設定確認真名 |
| 3 | 開檔失敗沒檢查,讀了半天都是舊值 | 邏輯錯誤 | 開檔後直接 fin >> x |
先 if (!fin) 確認開檔成功 |
| 4 | 想續寫檔案,內容卻被清空 | 資料消失 | ofstream fout("log.txt"); |
ofstream fout("log.txt", ios::app); |
| 5 | Windows 路徑寫單反斜線 | 開檔失敗(編譯器警告) | "C:\code\input.txt" |
"C:\\code\\input.txt" 或 "C:/code/input.txt" |
| 6 | freopen 之後螢幕沒輸出,以為程式當掉 | 虛驚一場 | 對著空螢幕重跑十次 | 輸出在 output.txt 裡,打開它 |