C語言檔案輸入和輸出操作的學習心得(一)

2021-09-17 19:27:51 字數 1727 閱讀 6695

首先介紹fopen()這個函式,以下內容為fopen()函式的詳解: 標頭檔案:#include

fopen()是乙個常用的函式,用來以指定的方式開啟檔案。

其原型為: file fopen(const char path, const char * mode);

【引數解釋】

path:包含了路徑的檔名,檔案的路徑應寫成形如c:資料夾1資料夾2檔案.txt,或者/資料夾1/資料夾2/檔案.txt的形式。

mode:開啟檔案的方式 以下是幾種常見的方式:

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

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

rt+:以讀/寫方式開啟乙個文字檔案,允許讀和寫。w開啟只寫檔案,若檔案存在則長度清為0,即該檔案內容消失,若不存在則建立該檔案。

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

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

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

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

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

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

與fopen()對應的是fclose(),fclose()用來關閉先前乙個fopen()開啟的檔案. 此動作會讓緩衝區內的資料寫入檔案中,

並釋放系統所提供的檔案資源. 標頭檔案:#include 定義函式:int fclose(file * stream);

【返回值】 若關檔案動作成功則返回0, 有錯誤發生時則返回eof 並把錯誤**存到errno

接下來介紹fwrite()函式,fwrite()函式的作用是向檔案流寫入資料。 其原型為:fwrite(void buffer, size,

count, file stream); 【引數解釋】 buffer:資料的原位址,可以通俗理解成需要寫入的內容。

size:每個單元的位元組數 count:單元的個數 stream:檔案流的指標

【返回值】

返回成功寫入的單元個數。如果小於count,則說明發生了錯誤,檔案流錯誤標誌位將被設定,隨後可以通過ferror()函式判斷。

注意:一開始接觸這個函式時很多人不太明白size和count的取值該如何決定。如果所需要輸入的位元組數為24,那麼size的值可以為4,count的值可以為6。同樣,size可以為8,count可以為3。總之,這兩個引數的乘積最好為所需要輸入的位元組數,若小於這個數會造成輸入缺失,若多於這個數會出現不必要的亂碼。

以下將以乙個簡單例項演示如何向檔案輸入資料,包含了fopen()和fwrite()的用法。

include int main()

fwrite(str,1,size,pfile);

fclose(pfile);

return 0;

}

C 中檔案的輸入 輸出操作

1 ifstream類,從istream 類派生而來,該類的物件用來支援檔案的輸入 2 ofstream類,從ostream派生而來,該類的物件用來支援檔案的輸出 3 fstream類 由iostream派生而來,可以支援檔案的輸入輸出 檔案的寫入 int main else ofile close...

C與C 的輸入輸出操作

在printf和scanf中可以使用以 開頭的控制符,指明要輸入或輸出的 資料的型別以及格式。這裡提醒一下,vs在使用scanf時候會說scanf不安全而報錯,有兩種解決方案 1.你就按他說的,乖乖用scanf s就好了 2.你就在標頭檔案中忽視這個報錯 pragma warning disable...

C基礎檔案輸入輸出操作之write和read函式

ssize t write int handle,void buf,int len handle 檔案控制代碼,主要是通過open函式開啟指定檔案得到的對應指定檔案的索 引 void buf 表明要寫入指定檔案的資料,如char 型字元陣列 int len 寫入指定檔案的資料大小 資料的長度 返回寫...