函式原型 函式原型: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...