c語言中關於檔案處理的相關內容

2021-09-07 03:10:22 字數 2332 閱讀 5840

字元讀/寫

fputs:把字元寫入指向檔案中  正常返回c  ; 出錯返回eof

int fputs(char c, file *fp)

fgets:指向檔案中讀取字元  正常返回c  ; 出錯或讀到檔案尾部返回eof

int fgets(file *fp)

判斷檔案是否結束

while(fgetc(fp) != eof)

if(feof(fp))

printf(「end of file\n」);

字串讀/寫: fgets與fputs

char  *fgets(char  *s,int n,file  *fp)

int   fputs(char  *s,file  *fp)

功能:從fp指向的檔案讀/寫乙個字串

返回值:

fgets正常時返回讀取字串的首位址;出錯或檔案尾,返回null

fputs正常時返回寫入的最後乙個字元;出錯為eof

fgets從fp所指檔案讀n-1個字元送入s指向的記憶體區,

並在最後加乙個『\0』(若讀入n-1個字元前遇換行符或檔案尾(eof)即結束)

格式化輸入/輸出

與printf函式和scanf函式作用相仿,但讀寫物件不是終端而是檔案(即將字串儲存在檔案裡)一般呼叫格式為:

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

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

功能:按格式對檔案進行i/o操作

返回值:成功,返回i/o的個數;出錯或檔案尾,返回eof

二進位制檔案的順序讀寫

一次讀寫乙個資料塊   

一般呼叫形式為:  fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

功能:讀/寫資料塊,把記憶體的內容直接複製到檔案裡

返值:成功返回讀/寫的塊數;出錯或檔案尾,返回0

說明:buffer:  指向要輸入/輸出資料塊的首位址的指標

size:  每個要讀/寫的資料塊的大小(位元組數)

count:   要讀/寫的資料塊的個數

fp:    要讀/寫的檔案指標

fread與fwrite 一般用於二進位制檔案的輸入/輸出

檔案定位函式及檔案隨機讀寫

幾個概念

檔案位置指標-----指向當前讀寫位置的指標

讀寫方式

順序讀寫:位置指標按位元組位置順序移動,叫~

隨機讀寫:位置指標按需要移動到任意位置,叫~

rewind函式

函式原型:  void  rewind(file  *fp)

功能:重置檔案位置指標到檔案開頭

返回值:無

fseek函式

函式原型:int  fseek(file  *fp,long  offset,int whence)

功能:改變檔案位置指標的位置

返回值:成功,返回0;失敗,返回非0值

位移量(移動的位元組數)

>0    向後移動     <0    向前移動

起始點檔案開始              seek_set     0

檔案當前位置      seek_cur    1

檔案末尾              seek_end    2

ftell函式

函式原型:  long  ftell(file  *fp)

功能:返回當前的讀寫位置(即相對檔案開頭的位移量)

返值:成功,返回當前的讀寫位置;失敗,返回-1l

出錯的檢測

ferror函式

函式原型:   int  ferror(file  *fp)

功能:測試檔案是否出現錯誤

返值:未出錯,0;出錯,非0

說明:檔案出錯標誌:在file結構中。若該標誌設定了,ferror函式返回真(非0),否則返回假。

每次呼叫檔案輸入輸出函式,均重新設定出錯標誌,所以應及時測試

fopen開啟檔案時,檔案出錯標誌沒有被設定

clearerr函式

函式原型:   void  clearerr(file  *fp)

功能:使檔案錯誤標誌置為0

返回值:無

說明:出錯後,錯誤標誌一直保留,直到對同一檔案調clearerr(fp)或rewind或任何其它乙個輸入輸出函式

關於HTML的相關內容

1.html html hyper text mark up language 超文字標記語言 最基礎的網頁語言 html不是一門程式語言 而是一門標記語言 html是用標記 標籤 元素 來描述網頁內容的 html是文件的一種 2.html的結構 用來指定當前頁面所遵循的html的版本 頭部分用來存...

關於「集」(SET)的相關內容

在sap中很多地方使用了集 set 來儲存層次關係的資料,如 cost center group cost element group order group statistical key figure group activity type group profit center group b...

關於C 的標準庫的相關內容

include includeusing namespace std int main string s cin s 當有字元出現後遇空白 空格符,換行符,製表符 便終止 如輸入 sdjajsd 1321weia 輸入的結果將只會為sdjajsd coutstring s while getline...