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