C語(yǔ)言中的文件處理用于打開(kāi),讀取,寫(xiě)入,搜索或關(guān)閉文件。它用于永久存儲(chǔ)數(shù)據(jù)。
文件的優(yōu)點(diǎn)
即使在程序退出后也會(huì)包含數(shù)據(jù)。通常我們使用變量或數(shù)組來(lái)存儲(chǔ)數(shù)據(jù),但在程序退出后數(shù)據(jù)丟失。變量和數(shù)組是非永久性存儲(chǔ)介質(zhì),而文件是永久存儲(chǔ)介質(zhì)。
C語(yǔ)言庫(kù)中有定義和實(shí)現(xiàn)了很多可以打開(kāi),讀取,寫(xiě)入,搜索和關(guān)閉文件的函數(shù)。文件函數(shù)列表如下:
| 編號(hào) | 函數(shù)名稱(chēng) | 功能描述 |
|---|---|---|
| 1 | fopen() | 打開(kāi)新的或現(xiàn)有的文件 |
| 2 | fprintf() | 將數(shù)據(jù)寫(xiě)入文件 |
| 3 | fscanf() | 從文件讀取數(shù)據(jù) |
| 4 | fputc() | 將一個(gè)字符寫(xiě)入文件 |
| 5 | fgetc() | 從文件讀取一個(gè)字符 |
| 6 | fclose() | 關(guān)閉文件 |
| 7 | fseek() | 將文件指針設(shè)置為給定位置 |
| 8 | fputw() | 將一個(gè)整數(shù)寫(xiě)入到文件 |
| 9 | fgetw() | 從文件讀取一個(gè)整數(shù) |
| 10 | ftell() | 返回當(dāng)前文件指針的位置 |
| 11 | rewind() | 將文件指針設(shè)置為文件的開(kāi)頭 |
打開(kāi)文件:fopen()函數(shù)
fopen()函數(shù)用于打開(kāi)文件,fopen()函數(shù)的語(yǔ)法如下:
FILE *fopen( const char * filename, const char * mode );
您可以在fopen()函數(shù)中使用以下模式之一。
| 模式 | 說(shuō)明 |
|---|---|
| r | 以讀取模式打開(kāi)文本文件 |
| w | 以寫(xiě)入模式打開(kāi)文本文件 |
| a | 以附加模式打開(kāi)文本文件 |
| r+ | 以讀寫(xiě)模式打開(kāi)文本文件 |
| w+ | 以讀寫(xiě)模式打開(kāi)文本文件 |
| a+ | 以讀寫(xiě)模式打開(kāi)文本文件 |
| rb | 以讀取模式打開(kāi)二進(jìn)制文件 |
| wb | 在寫(xiě)入模式下打開(kāi)二進(jìn)制文件 |
| ab | 以附加模式打開(kāi)二進(jìn)制文件 |
| rb+ | 以讀寫(xiě)模式打開(kāi)二進(jìn)制文件 |
| wb+ | 以讀寫(xiě)模式打開(kāi)二進(jìn)制文件 |
| ab+ | 以讀寫(xiě)模式打開(kāi)二進(jìn)制文件 |
關(guān)閉文件:fclose()
fclose()函數(shù)用于關(guān)閉文件。fclose()函數(shù)的語(yǔ)法如下:
int fclose( FILE *fp );
fprintf()和fscanf()函數(shù)
fputc()和fgetc()函數(shù)
fputs()和fgets()
fseek()函數(shù)