C語言 檔案操作3

2021-10-18 23:35:43 字數 1614 閱讀 7319

目錄

c語言-檔案操作3

檔案定位

1.ftell函式

2.rewind函式

3.fseek函式

檔案緩衝區

標準輸入、標準輸出和標準錯誤

開啟模式『r』『w』位置指標指向檔案頭;

開啟模式『a』位置指標指向檔案尾。

檔案位置指標與c語言指標不同,僅僅是乙個標誌,表示檔案讀寫到的位置。

檔案位置指標由系統自動設定,對使用者隱藏。

實際開發中,偶爾需要移動位置指標,我們把移動位置指標稱為檔案定位。

c語言提供了ftell、rewind和fseek三個函式來實現檔案定位功能。

ftell函式用來返回檔案位置指標的值,這個值是當前位置相對於檔案開始位置的位元組數。

函式宣告:

long ftell(file *fp);

rewind函式用來將位置指標移動到檔案開頭。

函式宣告:

void rewind(file *fp);

fseek用來將位置指標移動到任意位置。

函式宣告:

int fseek(file *fp, long offset, int origin);

引數說明:

fp為檔案指標,也就是被移動的檔案。

offset為偏移量,也就是要移動的位元組數。

long型別,是希望移動範圍更大,能處理的檔案更大。

offset為正時,向後移動;offset為負時,向前移動。

3.origin為起始位置,也就是從何處開始計算偏移量。

c語言規定的起始位置有三種,分別是:

0-檔案開頭;

1-當前位置;2-檔案末尾。

fseek(fp, 100, 0);   //從檔案開始位置計算,向後移動100位元組。

fseek(fp, 100, 1);   //從檔案當前位置計算,向後移動100位元組。

fseek(fp, 100, 2);   //從檔案尾部位置計算,向後移動100位元組。

當呼叫fprintf、fwrite等函式往檔案寫入資料的時候,資料先寫入緩衝區,等緩衝區寫滿之後或者呼叫fclose時才會把緩衝區的資料寫入檔案。

實際開發中,如果程式設計師想把緩衝區的資料立即寫入檔案,可以呼叫fflush庫函式。

函式宣告:

int fflush(file *fp);

返回0成功,其他失敗。

linux作業系統為每個程式預設開啟三個檔案,即標準輸入stdin、標準輸出stdout和錯誤輸出stderr,

其中0就是stdin,表示輸入流,指從鍵盤輸入,1代表stdout,2代表stderr,1,2預設是顯示器。

printf(

「hello world!\n

」);相當於fprintf(stdout,「hello world!\n」);

實際開發中,一般會關閉這幾個指標。

c語言檔案操作

rt null ch fgetc fp while ch eof fclose fp 本 例程式的功能是從檔案中逐個讀取字元,在螢幕上顯示。程式定義了檔案指標fp,以讀文字檔案方式開啟檔案 d jrzh example ex1 1.c 並使fp指向該檔案。如開啟檔案出錯,給出提示並退出程式。程式第1...

C語言檔案操作

1.首先要理解幾個概念 檔案 按一定規則儲存在磁碟上的資料集合。檔名 能唯一標識某個磁碟檔案的字串。形式 碟符 路徑 檔名.副檔名 二進位制檔案 資料以二進位制形式在儲存在磁碟上。裝置檔案 輸入 輸出裝置 標準輸入檔案 鍵盤 標準輸出檔案 標準錯誤輸出檔案 顯示器 檔案型指標 c語言是通過名為fil...

C語言檔案操作

1,兩種檔案訪問方式 輸入,輸出方式 順序訪問 直接訪問 2,資料的兩種存放形式 文字檔案 二進位制檔案 3.檔案指標 定義檔案型別指標變數的一般形式 file 指標變數名 例如 file fp1,fp2 4.開啟檔案 在使用檔案之前,需開啟檔案.在c裡使用fopen函式開啟檔案.格式為 fopen...