首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言文件讀寫基石:fgetc/fputc、fclose 核心機制與避坑指南

     編輯:關於C語言

fclose 關閉文件

int fclose(FILE *fp);
  • 斷開指針與文件關聯,刷新緩衝區
  • 返回 0 成功,非 0 失敗(如磁盤滿、設備錯誤)

四大讀寫函數族系

均需 #include <stdio.h>。

fgetc 核心機制

int ch = fgetc(FILE *fp);
  • 文件必須以 "r"、"r+"、"rb" 等讀模式打開
  • 可忽略返回值 fgetc(fp); 僅移動指針
  • 文件指針 vs 位置指針:
    • 文件指針(FILE*):程序變量,指向文件控制塊,值不變
    • 位置指針:系統維護,指示下一讀寫字節,每次操作自動後移
  • 讀至末尾返回 EOF(通常 -1)

範例:完整文件輸出到屏幕

FILE *fp = fopen("e10_1.c", "rt");
int ch = fgetc(fp);
while (ch != EOF) {
    putchar(ch);
    ch = fgetc(fp);
}
fclose(fp);

流程:打開 → 先讀一字符 → 循環輸出並讀下一字符 → 遇 EOF 退出 → 關閉。

常見錯誤

  • 未檢查 fopen 返回值直接使用
  • 文本模式讀二進制文件導致 0x1A (Ctrl+Z) 被誤判為 EOF
  • 忘記 fclose 造成資源洩漏、數據未刷新
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
層級讀取寫入單位
字符fgetcfputc1 字節
字符串fgetsfputs行/指定長度
數據塊freadfwrite結構體/數組
格式化fscanffprintf格式串