C語言 檔案

2021-09-29 14:54:47 字數 2600 閱讀 1840

檔案 :存在硬碟u盤 外存中(外部介質) 的資料的集合

輸入輸出:資料流,資訊從源到端的流動 (stream)

磁碟->程式:讀檔案(站在程式的角度)

程式->磁碟:寫檔案

//linux:萬物皆為檔案(包括鍵盤 顯示器)

檔案總路徑: d:\cc\temp\file1.dat

檔案路徑 d:\cc\temp

絕對路徑

相對路徑

檔名主幹 file1

檔案字尾 .dat

資料檔案:

ascii碼檔案 : 文字檔案,對應字元轉化為ascii碼 12 ->'1' '2'

二進位制檔案 : 不進行修改,存入磁碟當中          12->12

//檔案緩衝區:(待補充)

檔案操作三部曲:

1.開啟乙個檔案:fopen  ->fopen();//檔案結構體為空:失敗

以mode方式開啟乙個檔案:mode:

⚪文字檔案:

⭐唯讀許可權:

'r', 開啟乙個用於讀取的文字檔案,要求檔案必須存在,不存在會報錯

'w':檔案不存在,建立乙個檔案,檔案存在,清空該檔案

'a':檔案不存在,建立乙個檔案,檔案存在,追加乙個文字檔案

⭐增加了寫許可權:

'r+':文字檔案

⚪二進位制檔案:

'rb':二進位制檔案

1-0. 修改檔案

fread  讀:

fwrite 寫:

2.讀寫乙個檔案: r w  ->fprintf();把資料寫入到磁碟

printf :  "..."轉化為字串 結果寫入->顯示屏

fprintf : 轉化為字串 結果寫入->磁碟(檔案)

sprintf : 轉化為字串 結果寫入->buff(緩衝區) (字串長度)

// 返回為int型:字串長度

3. 關閉乙個檔案:fclose ->fclose  

指標置空 pf = null;

三部曲第一步:開啟乙個檔案(找到/新建/追加等)

1.fopen(); 讀取檔案---輸入流

fopen();

語法:file *fopen( const char *fname, const char *mode );

示例: file *input = fopen( "stuff", "r" );

理解:開啟由fname(檔名),返回乙個關聯該檔案的流

mode(方式)決定了檔案的操作方式(r,w,a,rb,wb,ab

r+,w+,a+,rb+,wb+,ab+)

如果發生錯誤, fopen()返回null;

原始碼:

三部曲可選步:修改檔案

1-0.  fwrite 寫+ fread  讀

三部曲第二步:讀寫這個檔案

2.fprint(); 把資料寫入磁碟(顯示器/緩衝區等) ---輸出流

fprintf();

語法:int fprintf( file *stream, const char *format, ... );

示例: file *out;

out = fopen( "output.txt", "w" );

理解:根據指定的format(格式)方式,傳送資訊到stream(流)指定的檔案(顯示屏)

fprintf()的返回值是輸出的字元數,發生錯誤時返回乙個負值.

原始碼:

sprintf();

語法:int sprintf( char *buffer, const char *format, ... );

示例: sprintf( string, "file.%d", file_number );

理解:根據指定的format(格式)方式,傳送資訊到stream(流)指定的檔案(緩衝區)

區別:和fprintf()類似, 只是把輸出傳送到buffer(緩衝區)中.返回值是寫入的字元數量

原始碼:

三部曲第三步:關閉這個檔案

3.fclose();---關閉流

fclose();

語法:int fclose( file *stream );

舉例:file *pf = fopen("yhp.txt","w");

fclose(pf);//我原本指向的資料塊 現在不指了

pf = null; 類似於malloc 釋放那塊

理解:函式fclose()關閉給出的檔案流, 釋放已關聯到流的所有緩衝區.

fclose()執行成功時返回0,否則返回eof.

注意事項:最後一定要讓pf置空,不然會存在很大隱患

c語言 檔案

1.檔案指標 在 語言中用乙個指標變數指向乙個檔案,這個指標稱為檔案指標。通過檔案指標就可對它所指的檔案進行各種操作。定義說明檔案指標的一般形式為 file 指標變數識別符號 例如 file fp 2.檔案的開啟 fopen函式用來開啟乙個檔案,其呼叫的一般形式為 檔案指標名 fopen 檔名,使用...

C語言 檔案

實現書上的例項 有乙個磁碟檔案,先將它顯示到螢幕上,在複製到另乙個檔案中,用c語言實現。如下 include main error c2660 fputc function does not take 1 parameters 出現這個錯誤,說明函式的呼叫形式有問題 編譯時,系統有點奔潰.自認為沒有...

C語言檔案

檔案的概述 檔案通常是字磁碟或固態硬碟上的一段已命名的儲存區。對我們而言,stdio.h就是乙個檔案的名稱,該檔案中包含一些有用的資訊。然而,對os來說,檔案更加複雜。c把檔案看做是一系列連續的位元組,每個位元組都能被單獨讀取,至於unix環境中的檔案結構相對應 由於其他環境可能無法完全對應這個模型...