C語言檔案

2021-10-19 10:23:26 字數 2589 閱讀 4458

檔案的概述:

檔案通常是字磁碟或固態硬碟上的一段已命名的儲存區。對我們而言,stdio.h就是乙個檔案的名稱,該檔案中包含一些有用的資訊。然而,對os來說,檔案更加複雜。

c把檔案看做是一系列連續的位元組,每個位元組都能被單獨讀取,至於unix環境中的檔案結構相對應

由於其他環境可能無法完全對應這個模型,c提供兩種檔案模式:文字模式和二進位制模式。

標準檔案

1.標準輸入

2.標準輸出

3.標準錯誤輸出

標準輸入是系統的普通輸入裝置,通常為鍵盤;標準輸出和標準錯誤輸出是系統的葡萄輸入裝置,通常為顯示屏。

fopen()函式

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,錯誤返回-1

ftell()函式,返回型別為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 絕對路徑 相對...