1,概論
程式執行時,程式本身和資料一般都存放在記憶體中,程式執行結束後,存放在記憶體中的資料會被釋放,如果長期儲存程式執行所需的原始資料,或程式產生的結果資料,就必須以檔案的形式儲存到外部儲存介質上.
2,c語言檔案概述
1,檔案與檔名
檔案是指存放在外部儲存介質上的資料集合.為標識乙個檔案,需要給每個檔案定乙個檔名,檔名一般格式,主檔名.[副檔名]
2,檔案分類
可以從不同的角度對檔案進行分類,
根據檔案內容,可分為程式檔案與資料檔案,
程式檔案又可以分為原始檔,目標檔案,可執行檔案.
3,根據檔案的儲存形式:分為ascii和二進位制檔案.
ascii碼檔案的每乙個位元組儲存乙個字元,便於對對字元進行處理,一般占用儲存空間較多,而且需花費轉換時間[ascii與二進位制間互為轉換]
二進位制檔案,是把記憶體中的資料,原樣輸出到磁碟檔案中,可以節省磁碟儲存空間和ascii和二進位制間互為轉換時間.二進位制檔案中乙個位元組並對應乙個字元,不能直接輸出字元形式,不便於維護閱讀.
3,檔案讀寫,
讀檔案是指,將磁碟檔案中的資料傳送到記憶體的操作.寫檔案是指,將計算機記憶體中的資料向磁碟檔案中傳.
構成檔案的基本單元與流式檔案
c語言將檔案看作是由乙個個字元[ascii碼檔案],或位元組組成的,將這種檔案稱作流式檔案,
在高階語言中組成檔案的基本單位是記錄,對檔案操作的基本單位也是記錄.
4,檔案型別
每個被使用的檔案都在記憶體中開闢乙個區用來存放檔案的相關資訊,(檔名,狀態,位置),這些資訊儲存在乙個結構體型別變數中,file,結構體型別由系統定義;
typedef
struct
file;
5,檔案操作型別,結構體型別
定義file型別指標變數file指標型別變數定義
file *指標變數名;
eg:file *fp;
fp是乙個指向file結構體的指標變數;
可以使fp指向某個檔案的結構體變數,從而通過該結構體變數中的檔案資訊來訪問檔案.
6,檔案開啟函式
fopen(),呼叫方式file *fp;
fp=fopen(檔名,檔案使用方式);
^fp-->使用者自定義的檔案型別指標變數;
檔案的使用方式,具有特定含義的符合
fopen函式功能:以指定的方式開啟指定的檔案,若操作成功,則返回乙個指向該檔案的指標,若開啟檔案時錯誤,返回null;
例如:file *fp;
fp=fopen("
/c/005/ruiy.dat
","rw+
");
7,檔案的使用方式;
檔案的操作模式基本字元[單獨使用是對文字檔案];r -->僅為讀二開啟,(唯讀檔案)
w-->僅為寫開啟, (建立新檔案)
a -->僅為新增而開啟, (寫舊檔案)
【注意】前面不是說了嗎:c把檔案看作是有乙個ascii字元或乙個二進位制字元組成的.
2,按二進位制格式讀寫檔案,字元方式+b;
b輔助說明,按二進位制格式讀寫檔案.
eg:fp=fopen("
ruiy.dat
","rb
");
8,fclose
usage:int fclose(file *指標變數名);
功能:關閉檔案指標所指向的檔案,正常關閉了,函式返回值為0,失敗則為非0;
fclose(fp);//關閉檔案所指向的檔案;
9,檔案讀寫操作
單個字元操作讀寫函式,
fputc函式
一般呼叫形式:
fputc(字元常量或變數,檔案指標);
功能:把指定字元存入檔案指標所指向的檔案中;
如果輸出失敗,則返回乙個eof,(-1);
eof是在stdio.h標頭檔案中的定義的符合常量,值為-1,
eg:fputc(ch,fp);
其中ch為字元變數,fp為檔案指標,
含義,將ch的值輸出到ftp所指向的檔案中
fgetc函式;
一般呼叫形式,字元變數=fgetc(檔案指標);
功能:從檔案指標所指檔案中讀取乙個字元賦給指定的字元變數,當遇到乙個檔案結束符,返回乙個檔案結束符標誌
eg:ch=fgetc(fp);
C 檔案操作與C 的檔案操作
c filestream 檔案流 主要用於使用二進位制方式讀寫檔案資料,可讀取任何檔案 建立filestream物件 e 建立filestream物件 filemode 指定系統開啟檔案的方式filestream fileaccess 指定檔案的訪問方式 read唯讀,write只寫,readwri...
C 檔案操作
c 追加檔案 sw.writeline 追逐理想 sw.writeline kzlll sw.writeline net筆記 sw.flush sw.close c 拷貝檔案 string orignfile,newfile file.copy orignfile,newfile,true c 刪除...
C 檔案操作
c 檔案操作 軒軒 發表於 2006 2 18 12 40 16 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器...