在C++中進行編程時,代碼文件的操作是一個經常遇到的問題,在C++ Builder中,可以使用多種方法對文件操作,下面就對在C++ Builder裡按以下幾個部分對此作詳細介紹,下面就進行一一列舉出來:
1、基於C的文件操作;
2、基於C++的文件操作;
3、基於WINAPI的文件操作;
4、基於BCB庫的文件操作;
5、特殊文件的操作。
在ANSIC中,對文件的操作分為兩種方式,即流式文件操作和I/O文件操作,下面就分別介紹之。
1)流式文件操作
這種方式的文件操作有一個重要的結構FILE,FILE在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 */
C++ Builder這個結構包含了文件操作的基本屬性,對文件的操作都要通過這個結構的指針來進行,此種文件操作常用的函數如下:
- fopen() 打開流
- fclose() 關閉流
- fputc() 寫一個字符到流中
- fgetc() 從流中讀一個字符
- fseek() 在流中定位到指定的字符
- fputs() 寫字符串到流
- fgets() 從流中讀一行或指定個字符
- fprintf() 按格式輸出到流
- fscanf() 從流中按格式讀取
- feof() 到達文件尾時返回真值
- ferror() 發生錯誤時返回其值
- rewind() 復位文件定位器到文件開始處
- remove() 刪除文件
- fread() 從流中讀指定個數的字符
- fwrite() 向流中寫指定個數的字符
- tmpfile() 生成一個臨時文件流
- tmpnam() 生成一個唯一的文件名