檔案 :存在硬碟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環境中的檔案結構相對應 由於其他環境可能無法完全對應這個模型...