位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 文件指針

提問人:劉團圓發(fā)布時間:2020-12-02

    C語言中讀寫每一個文件時,必須了解如下信息:文件在磁盤中的存儲位置、文件的類型(二進制文件或文本文件)、對文件進行何種操作(讀或?qū)懀?、對文件以怎樣的方式讀寫(讀一個字符、或讀一串字符等)以及該文件調(diào)入到內(nèi)存緩沖區(qū)的地址。標準文件系統(tǒng)為每一個文件定義一個結(jié)構(gòu)體變量,命名為FILE,該結(jié)構(gòu)體變量中包含了要讀寫文件的基本信息。FILE結(jié)構(gòu)體類型一般定義在stdio.h頭文件 中。具體定義如下:

typedef struct

{

    short                  level;             /*緩沖區(qū)滿空程度*/

    unsigned            flags;            /*文件狀態(tài)標志*/

    char                     fd;               /*文件描述符*/

    unsigned char     hold;           /*無緩沖則不讀取字符*/

    short                    bsize;          /*緩沖區(qū)大小*/

    unsigned char     *buffer;        /*數(shù)據(jù)緩沖區(qū)*/

    unsigned char     *curp;          /*當前位置指針*/

    unsigned              istemp;       /*臨時文件指示器*/

    short                    token;          /*用于有效性檢查*/

} FILE;

    FILE結(jié)構(gòu)體的定義是由編譯系統(tǒng)完成的,對于編程人員來說,只要掌握它的使用即可,不必深究其內(nèi)涵。

    當需要打開一個文件時,系統(tǒng)將為該文件定義一個FILE型結(jié)構(gòu)體變量,該變量中包含了文件的相關(guān)信息,并返回該文件在內(nèi)存緩沖區(qū)的地址,這樣,對文件的操作就轉(zhuǎn)化為對指針的操作。例如:

    FILE *fp;

    這就定義了一個FILE型的指針,指針名為fp。但要注意,此時指針fp沒有指向任何地址,需要用文件打開操作,將一個文件的地址賦給fp指針。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(0)
返回頂部