編譯器報錯:'fopen' too few actual parameters,即 fopen 實際參數過少。
FILE *fopen(const char *path, const char *mode);
需要兩個參數:
1. path:文件路徑(字符串)。
2. mode:打開模式(字符串),常用值如下:
| 模式 | 含義 |
|---|---|
| "r" | 只讀,文件必須存在 |
| "w" | 只寫,文件不存在則創建,存在則清空 |
| "a" | 追加寫入,文件不存在則創建 |
| "rb"/"wb"/"ab" | 二進制模式對應以上三種 |
| "r+"/"w+"/"a+" | 讀寫模式 |
// ❌ 錯誤:缺少 mode 參數
FILE *fp = fopen("data.txt");
// ✅ 正確:文本讀取
FILE *fp = fopen("data.txt", "r");
// ✅ 正確:二進制寫入
FILE *fp = fopen("image.png", "wb");
fopen(filename, "rt") 或 "r"。"C:\\data\\file.txt" 或正斜杠 "C:/data/file.txt"。if (fp == NULL) { perror("fopen"); return -1; }。