(一)檔案指標的定義
file * fp; //定義指向檔案的指標
(二)用fopen函式開啟資料檔案
fopen函式的呼叫方式為:
fopen(檔案路徑名,使用檔案方式);
系統定義了3個檔案指標變數stdin,stdout,stderr;分別指向標準輸入流、標準輸出流和標準出錯輸出流,可以通過這三個指標變數對以上3種流進行操作,他們都以終端作為輸入輸出物件,如果程式中指定要從stdin所指的檔案輸入資料,就是指從終端鍵盤輸入資料。
例:file * fp;
fp = fopen("./text.txt",「w」);
if(fp == null)
返回值:
如果fopen成功,則返回指向開啟檔案的指標,若失敗,則返回null。
(三)fclose函式關閉資料檔案
用法:fclose(檔案指標);
fclose(fp);
返回值:成功執行返回0;否則返回eof(-1);
(四)向檔案讀寫字元:
fgetc(fp):
功能:從fp指向的檔案讀入乙個字元;
返回值:讀成功,帶回所讀的字元,失敗則返回檔案結束標誌eof;
fputc(ch,fp);
功能:輸出成功,返回值就是輸出的字元;輸出失敗,則返回eof;
(五)向檔案讀寫乙個字串:
fgets(str,n,fp);
功能:從fp所指向的檔案中讀入乙個長度為n-1的字串,並在最後加乙個『\0』字元,然後把這n個字元存放到字元陣列str中;
返回值:讀成功,返回位址str,失敗則返回null。
fputs(str,fp):
功能:將str所指向的字串輸出到fp所指向的檔案中。
str可以是字串常量、字元陣列名、或字元型指標;字串末尾的『\0』不輸出。
返回值:若輸出成功,返回0,否則返回eof;
(六)用格式化的方式讀寫檔案
fprintf(檔案指標,格式字串,輸出列表);
fscanf(檔案指標,格式字串,輸入列表);
如:fprintf(fp,「%d,%6.2f」,i,f);
用fprintf和fscanf函式對磁碟檔案讀寫,使用方便,容易理解,但由於在輸入時要將檔案中的ascii碼轉換為二進位制形式再儲存在記憶體變數中,在輸出時又要將記憶體中的二進位制形式轉換成字元,要花費較多時間。因此,在記憶體與磁碟頻繁交換的情況下,最好不用fprintf和fscanf函式,而用下面的fread和fwrite函式進行二進位制的讀寫。
(七)用二進位制方式向檔案讀寫一組資料
fread (buffer,size,count,fp);
fwrite (buffer,size,count,fp);
buffer是乙個位址,對fread是用來存放從檔案讀入的資料的儲存區的位址;
對fwrite是要把此位址開始的儲存區中的資料向檔案輸出(以上指的是起始位址)。
size:要讀寫的位元組數;
count:要讀寫多少個資料項(每個資料項長度為size);
fp:file型別指標。
返回值:若執行成功,則返回值為形參count的值(乙個整數,小於或等於count),否則返回值為0;
(八)檔案位置標記的定位
rewind函式使檔案位置標記指向檔案開頭,此函式無返回值。
fseek(檔案型別指標,位移量,起始點)
功能:從起始點偏移n個位移量;
「位移量」指以「起始點」為幾點,向前移動的位元組數。位移量應是long型資料(在數字的末尾加乙個字母l,就表示是long型)。
如:fseek(fp,100l,0); 將檔案位置標記向前移到離檔案開頭100個位元組處
fseek(fp,-10l,2); 將檔案位置標記從檔案末尾處向後退10個位元組
起始點用0、1、2代替:
用ftell函式測定檔案位置標記的當前位置
如果呼叫函式時出錯(如不存在fp指向的檔案),ftell的返回值為-1l。
feof()函式
作用:檢查檔案讀寫位置標記是否移到檔案的末尾,即磁碟檔案是否結束。
如:feof(fp);
若是,則返回值為1;否則為0;
(九)檔案讀寫的出錯檢測
ferror函式
在呼叫各種輸入輸出函式時,如果出現錯誤,除了函式返回值有所反應外,還可以用ferror函式檢查,呼叫形式為:
ferror(fp);
若返回值為0,表示未出錯,若返回乙個非零值,表示出錯。
應當注意,對同乙個檔案每一次呼叫輸入輸出函式都會產生乙個新的ferror函式值,因此,應當在呼叫乙個輸入輸出函式後立即檢查ferror的值,否則資訊會丟失。在執行fopen函式時,ferror函式的初始值自動置為0。
clearerr函式
作用:使檔案錯誤標誌和檔案結束標誌置為0。
檔案操作相關函式
首先 檔案分為相對路徑和絕對路徑 比如我有乙個檔名為qaq的txt檔案 他的路徑可以是 d code test qaq.txt 這就是乙個絕對路徑 而如果當前路徑是d code,想要描述qaq.txt的話只需要輸入 test qaq.txt 而如果當前路徑是d other,想要描述qaq.txt的話...
Python檔案操作及相關函式使用
檔案開啟模式 模式 t 文字模式 預設 x 寫模式,新建乙個檔案,如果該檔案已存在則會報錯。b 二進位制模式。開啟乙個檔案進行更新 可讀可寫 u 通用換行模式 不推薦 r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。r 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。w 開啟乙...
c c 檔案操作相關的常用函式
標籤 c c 讀寫檔案 freadandfwrite include size t fread void ptr,size t size,size t nmemb,file stream size t fwrite const void ptr,size t size,size t nmemb,fi...