程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> 一起talk C栗子吧(第一百四十二回:C語言實例

一起talk C栗子吧(第一百四十二回:C語言實例

編輯:關於C

各位看官們,大家好,上一回中咱們說的是基於文件指針進行文件操作的例子,這一回咱們繼續說該例子。閒話休提,言歸正轉。讓我們一起talk C栗子吧!

看官們,我們在上一回中介紹了文件指針,今天我們將和大家一起看看如何通過文件指針來操作文件。文件操作仍然使用我們總結的文件操作三步曲:打開,操作和關閉。我們將使用標准庫中的函數來實現這些文件操作。接下來我們介紹標准庫中與文件操作相關的函數。

打開文件的函數

FILE *fopen(const char *path, const char *mode);
該函數用來打開文件或者創建一個新文件; 該函數的第一個參數是文件名,該文件名表示要打開的文件或者創建的文件; 該函數的第二個參數是打開文件的方式,詳見下面的說明; 該函數運行成功時返回一個非空的文件指針;運行失敗時返回NULL。

第二個參數是字符串,它的值可以是以下類型中的任意一個:

“r”(只讀的方式打開文件), “w”(只寫的方式打開文件,並且把文件長度設置為0,如果文件不存在就創建文件), “a”(只寫的方式打開文件,數據追加在文件末尾), ”r+”(以讀和寫的文件打開文件), ”w+”(以讀和寫的文件打開文件,並且把文件長度設置為0), “a+”(以讀和寫的方式打開文件,數據追加在文件末尾),

操作文件的函數

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
該函數用來從文件中讀取數據; 該函數的第一個參數是指向緩沖區的指針,從文件中讀取的數據會存放到該指針指向的緩沖區中; 該函數的第二個參數是每次讀取數據的大小; 該函數的第三個參數是讀取數據的次數,它與第二個參數的積就是一共讀取的數據大小; 該函數的第四個參數是文件指針,它會讀取該文件指針所指向的的文件中的數據; 該函數運行成功時返回讀取到數據的數量,通常與第三個參數的值相等,如果到了文件末尾時會小於該值,或者為0。如果運行失敗會把失敗信息寫入到標准錯誤流中.可以使用ferror()函數查看錯誤信息。
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
該函數用來向文件中寫入數據; 該函數的第一個參數是指向緩沖區的指針,它會把緩沖區中的數據寫入到文件中; 該函數的第二個參數是每次寫入數據的大小; 該函數的第三個參數是寫入數據的次數,它與第二個參數的積就是一共寫入的數據大小; 該函數的第四個參數是文件指針,它會把數據寫入到該指針所指向的的文件中; 該函數運行成功時返回寫入數據的數量,通常與第三個參數的值相等,如果返回的值小於該值,或者為0, 那麼就表示發生了錯誤。同時會把失敗信息寫入到標准錯誤流中,可以使用ferror()函數查看錯誤信息。

關閉文件的函數

int fclose(FILE *fp)
該函數用來關閉文件; 該函數的參數表示文件指針,它會把與該文件指針所指的文件關閉掉,同時關閉文件流。 該函數運行成功時返回0,運行失敗時返回-1.同時設置全局變量error。

各位看官,關於文件操作:基於文件指針的例子咱們就說到這裡。欲知後面還有什麼例子,且聽下回分解 。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved