C++builder的文件讀寫操作總結(jié)

字號(hào):

在編程的過程中,文件的操作是一個(gè)經(jīng)常用到的問題,在C++Builder中,可以使用多種方法對(duì)文件操作,下面我就按以下幾個(gè)部分對(duì)此作詳細(xì)介紹,就是:
    1、基于C的文件操作;
    2、基于C++的文件操作;
    3、基于WINAPI的文件操作;
    4、基于BCB庫(kù)的文件操作;
    5、特殊文件的操作。
    1. 基于C的文件操作
    在ANSI C中,對(duì)文件的操作分為兩種方式,即流式文件操作和I/O文件操作,下面就分別介紹之。
    1)流式文件操作
    這種方式的文件操作有一個(gè)重要的結(jié)構(gòu)FILE,F(xiàn)ILE在stdio.h中定義如下:
    以下是引用片段:
    typedef struct {
    int level; /* fill/empty level of buffer */
    unsigned flags; /* File status flags */
    char fd; /* File descriptor */
    unsigned char hold; /* Ungetc char if no buffer */
    int bsize; /* Buffer size */
    unsigned char _FAR *buffer; /* Data transfer buffer */
    unsigned char _FAR *curp; /* Current active pointer */
    unsigned istemp; /* Temporary file indicator */
    short token; /* Used for validity checking */
    } FILE; /* This is the FILE object */
    FILE這個(gè)結(jié)構(gòu)包含了文件操作的基本屬性,對(duì)文件的操作都要通過這個(gè)結(jié)構(gòu)的指針來進(jìn)行,此種文件操作常用的函數(shù)如下:
     函數(shù) 功能
    fopen() 打開流
    fclose() 關(guān)閉流
    fputc() 寫一個(gè)字符到流中
    fgetc() 從流中讀一個(gè)字符
    fseek() 在流中定位到指定的字符
    fputs() 寫字符串到流
    fgets() 從流中讀一行或指定個(gè)字符
    fprintf() 按格式輸出到流
    fscanf() 從流中按格式讀取
    feof() 到達(dá)文件尾時(shí)返回真值
    ferror() 發(fā)生錯(cuò)誤時(shí)返回其值
    rewind() 復(fù)位文件定位器到文件開始處
    remove() 刪除文件
    fread() 從流中讀指定個(gè)數(shù)的字符
    fwrite() 向流中寫指定個(gè)數(shù)的字符
    tmpfile() 生成一個(gè)臨時(shí)文件流
    tmpnam() 生成一個(gè)的文件名