檔案的概述:
檔案通常是字磁碟或固態硬碟上的一段已命名的儲存區。對我們而言,stdio.h就是乙個檔案的名稱,該檔案中包含一些有用的資訊。然而,對os來說,檔案更加複雜。標準檔案c把檔案看做是一系列連續的位元組,每個位元組都能被單獨讀取,至於unix環境中的檔案結構相對應
由於其他環境可能無法完全對應這個模型,c提供兩種檔案模式:文字模式和二進位制模式。
1.標準輸入fopen()函式2.標準輸出
3.標準錯誤輸出
標準輸入是系統的普通輸入裝置,通常為鍵盤;標準輸出和標準錯誤輸出是系統的葡萄輸入裝置,通常為顯示屏。
fopen 函式可以開啟乙個檔案,返回檔案所在的位址,還建立了乙個緩衝區以及包含檔案和緩衝區資料的結構。
我們說fopen開啟乙個流。如果以文字模式開啟該檔案,就獲得了乙個文字流,二進位制開啟為二進位製流。
fclose()函式
fclose函式關閉fp指定的檔案,必要時重新整理緩緩區對於較為正式的程式,應該檢查是否關閉成功。關閉成功返回0,否則返回eof檔案的輸入與輸出
ch=getc(fp);getc用來從開啟的檔案中獲取乙個字元
putc用來從fp指定的檔案中寫入ch字元
putc(ch,fpout)
fprintf(),fscanf()第乙個引數為檔案的指標,就是將指標所指向的內容輸入輸出到指標 fgets() fputs函式
fseek()函式,邊可以把檔案看做陣列,在fopen()開啟的檔案中直接移動到任意位元組處。
fseek函式有三個引數,返回int型別的值;ftell()函式返回乙個long型別的值,表示檔案中的當前位置。
fseek()函式
第乙個引數為file指標,指向帶查詢的檔案,fopen應該已經開啟檔案
第二個引數是偏移量(offsset)可以為正(前移),負(後移),0
第三個引數表示其實的模式,確定起始點。以下為三種:
seek_se 檔案開始處
seek_cur 當前位置
seek_end 檔案末尾
如:
fseek
(fp,
10l,
seek_set
)//定位到檔案開始處的第10個位元組
fseek
(fp,
-10l
,seek_end
)//從檔案結尾處繪圖10個位元組
//l字尾表面其值為long
如果一切正常,fseek()返回0,錯誤返回-1ftell()函式,返回型別為long ,他返回的是當前的位置。
其他函式 ansi標準庫中的標準i/0系列函式有幾十個。 按塊去寫入和讀入
char buffer[
256]
;fwrite
(buffer,
256,
1,fp)
;
把一塊256位元組的資料從buffer寫入檔案。fp指定待寫入的檔案。再如:
double earnings[10]
;fwrite
(earnings,
sizeof
(double),
10,fp);
表示把earnings陣列中的資料寫入檔案,資料被分成10塊,每塊都是double的大小。 fread()函式 double更新緩衝區earnings[10]; fread(earnings,sizeof(double),10,fp);
把10個double大小的值拷貝到earnings陣列中。
#include
int fflush(file *stream);
功能:更新緩衝區,讓緩衝區的資料立馬寫到檔案中。
引數:stream:檔案指標
返回值:
成功:0
失敗:-1
刪除檔案、重新命名檔名
#include
int remove(const char *pathname);
功能:刪除檔案
引數:pathname:檔名
返回值:
成功:0
失敗:-1
#include
int rename(const char *oldpath, const char *newpath);
功能:把oldpath的檔名改為newpath
引數:oldpath:舊檔名
newpath:新檔名
返回值:
成功:0
失敗: - 1
c語言 檔案
1.檔案指標 在 語言中用乙個指標變數指向乙個檔案,這個指標稱為檔案指標。通過檔案指標就可對它所指的檔案進行各種操作。定義說明檔案指標的一般形式為 file 指標變數識別符號 例如 file fp 2.檔案的開啟 fopen函式用來開啟乙個檔案,其呼叫的一般形式為 檔案指標名 fopen 檔名,使用...
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 絕對路徑 相對...