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

C語言檔案輸入輸出:fopen 與 fclose 函數詳解

     編輯:C 語言基礎

檔案操作基礎:流與檔案指標

在 C 語言中,檔案操作是透過「流」來抽象處理各種輸入輸出裝置。Turbo C 2.0 區分了文字流與二進位流,對應磁碟上的文字檔與二進位檔。所有檔案操作函數都使用 FILE* 型別的檔案指標,它實際上是一個結構指標,內含檔案管理所需的資訊(如緩衝區位置、存取模式、錯誤狀態等)。

fopen():開啟檔案

FILE *fopen(const char *filename, const char *mode);

第一個參數為檔案路徑與名稱,注意路徑中的反斜線需轉義(如 "C:\\TC\\TEST.DAT")。第二個參數指定開啟模式:

模式說明
r開啟文字檔唯讀
w建立文字檔唯寫(若存在則截斷)
a附加寫入,檔案不存在則建立
r+開啟文字檔讀寫
w+建立文字檔讀寫
a+開啟或建立檔案附加讀寫
b二進位模式(可與上述模式組合,如 "rb"、"wb+")
t文字模式(預設)

成功時傳回檔案指標,失敗傳回 NULL。務必檢查傳回值以確認檔案是否正確開啟。

fclose():關閉檔案

int fclose(FILE *stream);

將緩衝區資料寫入實體檔案並釋放資源。成功傳回 0,失敗傳回非零值。程式結束前應關閉所有開啟的檔案,避免資料遺失。

範例程式

#include <stdio.h>

int main(void) {
    FILE *fp = fopen("CLIB", "rb");
    if (fp == NULL) {
        puts("File open error");
        return 1;
    }
    int result = fclose(fp);
    if (result == 0)
        printf("OK\n");
    else
        puts("File close error");
    return 0;
}

此範例示範開啟二進位檔唯讀、檢查錯誤、關閉檔案並驗證結果的完整流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved