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環境中的檔案結構相對應 由於其他環境可能無法完全對應這個模型...