各位看官們,大家好,上一回中咱們說的是基於文件指針進行文件操作的例子,這一回咱們繼續說該例子。閒話休提,言歸正轉。讓我們一起talk C栗子吧!
看官們,我們在上一回中詳細地介紹了標准庫中與文件操作相關的函數。不過,限於時間的原因,沒有舉具體的例子。還是那句老話,只說不練,不是我們的風格。因此,今天我們將通過具體的例子來說明如何使用文件指針來操作文件。
對文件的操作,還是使用我總結的文件操作三步曲比較好:
p_file = fopen(file_name,"w"); //打開文件
res = fwrite(buf,sizeof(char),10,p_file); //向文件寫入數據
res = fread(buf,sizeof(char),10,p_file); //從文件中讀取數據
res = fclose(p_file); //關閉文件
看官們,我要強調一下:和基於文件描述符操作文件一樣,基於文件指針進行文件操作時,也很容易發生錯誤,因此必須檢查文件操作的結果。在我們的例子代碼中對每一個文件操作的結果都進行了檢查。下面是一個檢查的例子,請參考:
if(NULL == p_file)
{
printf("open file %s failed \n",file_name);
return 1;
}
希望大家能夠從例子中明白檢查文件操作結果的重要性,進而養成良好的編程習慣。
看官們,以上是核心代碼,完整的代碼放到了我的資源中,大家可以下載使用。
在代碼中我們首先創建一個名叫test的文件,進而打開了文件輸入流,同時得到了指向該輸入流的文件指針。然後向該文件中寫入數據,最後關閉該文件,進而關閉了文件輸入流,同時釋放與輸入流關聯的文件指針。接下來我們以只讀的方式打開該文件,進而打開了文件輸出流,同時得到了指向該輸出流的文件指針,然後從文件中讀取數據,並且輸出到終端中,最後關閉該文件,進而關閉了文件輸出流,同時釋放與輸出流關聯的文件指針。
下面是程序的運行結果:
write 10 chars into file
read 10 chars from file,they are hello word
各位看官,關於文件操作:基於文件指針的例子咱們就說到這裡。欲知後面還有什麼例子,且聽下回分解 。