| 函數 | 用途 | 關鍵參數/返回值 |
|---|---|---|
fopen(path, mode) | 打開文件 | mode: r/r+/w/w+/a/a+ 可加 b 表示二進制;返回 FILE* 或 NULL |
fclose(fp) | 關閉文件,刷新緩衝區 | 成功 0,失敗 EOF |
freopen(path, mode, fp) | 重新關聯文件指針 | 先關閉原文件,再打開新文件 |
fprintf(fp, fmt, ...):按格式寫入,返回寫入字節數。fscanf(fp, fmt, ...):按格式讀取,返回成功賦值項數,EOF 表示失敗。fgetc(fp) / getc(fp):讀一字符,返回 int(含 EOF)。fputc(c, fp) / putc(c, fp):寫一字符。fgets(buf, size, fp):讀一行(含換行),最多 size-1 字符,末尾加 \0。fputs(str, fp):寫字符串(不含結尾 \0)。fread(ptr, size, count, fp):讀 count 個 size 字節塊,返回實際讀到的塊數。fwrite(ptr, size, count, fp):寫入,返回實際寫入塊數。fseek(fp, offset, whence):移動位置。whence: SEEK_SET/CUR/END。成功 0。ftell(fp):返回當前位置(long)。rewind(fp):回到開頭,等價 fseek(fp,0,SEEK_SET)。fgetpos/fsetpos:用 fpos_t 記錄/恢復位置(支援大文件)。setbuf(fp, buf):buf 為 NULL 時無緩衝,否則全緩衝(大小 BUFSIZ)。setvbuf(fp, buf, mode, size):mode: _IOFBF(全)、_IOLBF(行)、_IONBF(無)。feof(fp):是否讀到文件尾(非零為真)。ferror(fp):是否出錯。clearerr(fp):清除錯誤/EOF 標記。fileno(fp):獲取底層文件描述符。tmpfile():創建臨時二進制文件,關閉自動刪除。mktemp(template):生成唯一文件名(模板以 XXXXXX 結尾)。ungetc(c, fp):將字符推回流,下次讀取可得。