c語言 檔案

2021-06-02 09:34:58 字數 2079 閱讀 4745

1.檔案指標

在c語言中用乙個指標變數指向乙個檔案,這個指標稱為檔案指標。通過檔案指標就可對它所指的檔案進行各種操作。

定義說明檔案指標的一般形式為:file *

指標變數識別符號;  

例如:file *fp;

2.檔案的開啟

fopen函式用來開啟乙個檔案,其呼叫的一般形式為:檔案指標名=fopen(檔名,使用檔案方式);

例如:file *fphzk ;fphzk=("c:\\hzk16","rb") ;開啟c

驅動器磁碟的根目錄下的檔案

hzk16

,這是乙個二進位制檔案

檔案使用方式由

r,w,a,t,b,+

六個字元拼成,各字元的含義是:

r(read): 

讀 w(write): 

寫 追加

t(text): 

文字檔案,可省略不寫

b(banary): 

二進位制檔案

+:  讀和寫

在開啟乙個檔案時,如果出錯,

fopen

將返回乙個空指標值

null

。在程式中可以用這一資訊來判別是否完成開啟

檔案的工作,並作相應的處理。因此常用以下程式段開啟檔案:

3.檔案的關閉

fclose函式呼叫的一般形式是:

fclose(

檔案指標);

正常完成關閉檔案操作時,

fclose

函式返回值為

0。如返回非零值則表示有錯誤發生

4.檔案的讀寫(

使用以下函式都要求包含標頭檔案

stdio.h)(

eof檔案結束標誌,值為-1

)·字元讀寫函式

:fgetc和fputc  

格式:字元變數

=fgetc(

檔案指標); 

fputc(

字元量,檔案指標);

·字串讀寫函式:fgets和fputs

格式:fgets(

字元陣列名

,n,檔案指標

);  

fputs(

字串,

檔案指標

);·資料塊讀寫函式:freed和fwrite

格式:fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

·格式化讀寫函式:fscanf和fprinf

格式:fscanf(

檔案指標,格式字串,輸入表列);

fprintf(

檔案指標,格式字串,輸出表列);

5.檔案的定位

rewind(

檔案指標);

它的功能是把檔案內部的位置指標移到檔案首。

fseek(

檔案指標

,位移量

,起始點

);其中:

「檔案指標」指向被移動的檔案。 「

位移量」

表示移動的位元組數,要求位移量是

long

型資料,以便在檔案長度大於

64kb

時不會出錯。當用常量表

位移量時,要求加字尾「l

」。「起始點

」表示從何處開始計算位移量,規定的起始點有三種:檔案首,當前位置和檔案尾。

其表示方法如下表。

起始點表示符號

數字表示

檔案首seek_set 0

當前位置

seek_cur 1

檔案末尾

seek_end 2

ftell()可以得到相對於檔案首位置的偏移量  例如i=ftell(fp);

6.檔案的出錯檢測

feof(

檔案指標);

功能:判斷檔案是否處於檔案結束位置,如檔案結束,則返回值為1,否則為0。

ferror(

檔案指標);

功能:檢查檔案在用各種輸入輸出函式進行讀寫時是否出錯。如ferror返回值為0表示未出錯,否則表示有錯。

clearerr(

檔案指標);

功能:本函式用於清除出錯標誌和檔案結束標誌,使它們為0值。

C語言 檔案

實現書上的例項 有乙個磁碟檔案,先將它顯示到螢幕上,在複製到另乙個檔案中,用c語言實現。如下 include main error c2660 fputc function does not take 1 parameters 出現這個錯誤,說明函式的呼叫形式有問題 編譯時,系統有點奔潰.自認為沒有...

C語言 檔案

檔案 存在硬碟u盤 外存中 外部介質 的資料的集合 輸入輸出 資料流,資訊從源到端的流動 stream 磁碟 程式 讀檔案 站在程式的角度 程式 磁碟 寫檔案 linux 萬物皆為檔案 包括鍵盤 顯示器 檔案總路徑 d cc temp file1.dat 檔案路徑 d cc temp 絕對路徑 相對...

C語言檔案

檔案的概述 檔案通常是字磁碟或固態硬碟上的一段已命名的儲存區。對我們而言,stdio.h就是乙個檔案的名稱,該檔案中包含一些有用的資訊。然而,對os來說,檔案更加複雜。c把檔案看做是一系列連續的位元組,每個位元組都能被單獨讀取,至於unix環境中的檔案結構相對應 由於其他環境可能無法完全對應這個模型...