1. 程式人生 > >C語言基礎之常用檔案操作2(附程式碼)

C語言基礎之常用檔案操作2(附程式碼)

這裡在上一章的基礎上再介紹幾個常用的檔案操作的函式,包括fprintf、fscanf、ftell、fseek等。
檔案操作函式介紹
1、fprintf 函式
函式原型:
int fpringf(FILE* stream,const char *format,[argument])
引數解析:
1)FILE*stream:檔案指標
2)const char* format:輸出格式
3)[argument]:附加引數列表
fprintf函式可以按照格式把數字記錄在文字檔案裡,它與printf函式的用法除第一個引數的檔案指標之外都是相同的。
2、fscanf函式
函式原型:
int fscanf(FILE*stream, constchar*format, [argument…]);
引數解析:
1)FILE *stream:檔案指標
2)char *format:格式字串
3)[argument…]:輸入列表
fscanf函式可以按照格式從文字檔案裡獲得數字並記錄到變數裡,它與scanf函式的用法除第一個引數的檔案指標之外都是相同的。
3、ftell函式
函式原型:
long ftell(FILE *stream);
引數解析: FILE *stream:檔案指標
ftell函式用於得到檔案位置指標當前位置相對於檔案首的偏移位元組數。
注意:該函式對大於2.1G以上的檔案操作時可能出錯。

小知識:
檔案的位置指標:
計算機裡為每個開啟的檔案保留一個整數,這個整數表示下一次檔案讀寫操作
在什麼地方開始。這個整數的數值就是檔案頭到這個位置之間包含的位元組個數,這個整數叫做檔案的位置指標。當從檔案中讀出n個位元組或者寫入n個位元組後位置指標的數值都會增加n。

4、fseek函式
函式原型:
int fseek(FILE *stream, long offset, int fromwhere);
引數解析:
1)stream為檔案指標
2)offset為偏移量,正數表示正向偏移,負數表示負向偏移
3)fromwhere為設定從檔案的哪裡開始偏移,可能取值為:SEEK_CUR、 SEEK_END 或 SEEK_SET
返回值:
成功,返回0,失敗返回-1,並設定error的值,可以用perror()函式輸出錯誤。
fseek函式可以把位置指標設定到任何位置,fseek函式在使用的時候需要指定一個基準位置以及目標位置到基準位置的距離。如果目標位置在基準位置後則距離用正數表示,如果目標位置在基準位置前則距離用負數表示,距離的數值就是兩個位置之間包含的位元組個數.

演示程式碼1:
這裡寫圖片描述

演示程式碼2:
這裡寫圖片描述

演示程式碼3:
這裡寫圖片描述

演示程式碼4:
準備一個b.txt如下圖:
這裡寫圖片描述

可以通過該函式練習位置指標前後移動的使用。

以下是我的個人公眾號,主要作為C/C++語言技術分享使用,歡迎新增交流:
這裡寫圖片描述