C檔案讀寫函式

2021-08-28 02:44:57 字數 2561 閱讀 5238

函式原型 函式原型:file * fopen(const char * path, const char * mode);

file *fp ;

fp = fopen("d:\\a.txt","r");

\\是一種轉義字元,他表示乙個\,就像\n表示回車一樣,即可用絕對路徑也可用相對路徑

mode:

字串說明

r以唯讀方式開啟檔案,該檔案必須存在。

r+以讀/寫方式開啟檔案,該檔案必須存在。

rb+以讀/寫方式開啟乙個二進位制檔案,只允許讀/寫資料。

rt+以讀/寫方式開啟乙個文字檔案,允許讀和寫。

w開啟只寫檔案,若檔案存在則長度清為 0,即該檔案內容消失,若不存在則建立該檔案。

w+開啟可讀/寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。

a以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留(eof 符保留)。

a+以附加方式開啟可讀/寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,則寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留(原來的 eof 符不保留)。

wb以只寫方式開啟或新建乙個二進位制檔案,只允許寫資料。

wb+以讀/寫方式開啟或建立乙個二進位制檔案,允許讀和寫。

wt+以讀/寫方式開啟或建立乙個文字檔案,允許讀寫。

at+以讀/寫方式開啟乙個文字檔案,允許讀或在文字末追加資料。

ab+以讀/寫方式開啟乙個二進位制檔案,允許讀或在檔案末追加資料。

函式原型:

errno_t fopen_s( file** pfile, const char filename, const char mode );

errno_t _wfopen_s( file

pfile, const wchar_t *filename, const wchar_t *mode );

errno_t是一種資料型別,實際上是乙個整形,代表錯誤號碼,如果是0就代表沒有錯誤,其他代表丟擲乙個錯誤。

char是8位字元型別,最多只能包含256種字元,許多外文字符集所含的字元數目超過256個,char型無法表示。

wchar_t資料型別一般為16位或32位,但不同的c或c++庫有不同的規定,如gnu libc規定wchar_t為32位,總之,wchar_t所能表示的字元數遠超char型。

int err = fopen_s(&fp, "d:\\a.txt", "r");
函式原型:

size_t fread ( void *buffer, size_t size, size_t count, file *stream) ; 返回真實讀取的項數

引數2:size

要讀的每個資料項的位元組數,單位是位元組

引數3:count

要讀count個資料項,每個資料項size個位元組.

引數4:stream

輸入流

char buffer;

int size= fread(&buffer, sizeof(char), 1, fp);

while (size)

函式原型: int fclose( file *fp );

如果流成功關閉,fclose 返回 0,否則返回eof(-1);

fclose(fp);
函式原型

size_t fwrite(const void* buffer, size_t size, size_t count, file* stream);

引數與fread一樣這裡buffer是寫入的內容

err = fopen_s(&fp, "d:\\a.txt", "a+");

buffer = 'e';

fwrite(&buffer,sizeof(char),1,fp);

fclose(fp);

附加乙個

函式原型

int fseek(file *stream, long offset, int fromwhere); 函式設定檔案指標stream的位置。

成功,返回0,失敗返回-1,並設定error的值,可以用perror()函式輸出錯誤。

引數1:stream為檔案指標

引數2:offset為偏移量,正數表示正向偏移,負數表示負向偏移

引數3:fromwhere設定從檔案的**開始偏移

引數3選項:

0 : seek_set: 檔案開頭

1 : seek_cur: 當前位置

2 : seek_end: 檔案結尾

fseek(fp,100l,0);		把stream指標移動到離檔案開頭100位元組處;

fseek(fp,100l,1); 把stream指標移動到離檔案當前位置100位元組處;

fseek(fp,-100l,2); 把stream指標退回到離檔案結尾100位元組處。

偏移量後加 l,表示 long int 型。

其實,不加l,一般編譯器也都知道是 long 型

C語言 檔案讀寫函式使用

綜合描述按字元,按行,按塊讀寫方式。include include void filecharwrite char ch a for int i 0 i 5 i fclose file write void filecharread 注意此時會體現出feof 的滯後性,最後會將eof識別符號賦予ch...

C語言檔案讀寫常用函式

檔案讀寫 檔案的分類 文字檔案 儲存的是ascii碼的二進位制 2 5 5 二進位制檔案 儲存的是資料的補碼 11111111 檔案io file fopen const char path,const char mode 功能 開啟或者建立檔案 path 檔案路徑 mode 開啟模式 r 以唯讀許...

c 檔案讀寫 文字讀寫

include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...