c++通過以下幾個類支援檔案的輸入輸出
(1) ofstream:寫操作,輸出檔案類;
(2) ifstream:讀操作,輸入檔案類;
(3) fstream:可同時讀寫的檔案類。
1. open函式:開啟檔案
函式原型:void open(const char*filename,int mode,int access);
引數說明:filename: 要開啟的檔名
mode: 要開啟檔案的方式
access: 開啟檔案的屬性
開啟檔案的方式在類ios(是所有流式i/o類的基類)中定義,常用的值如下:
ios::binary: 以二進位制方式開啟檔案,預設的方式是文字方式。兩種方式的區別見前文
ios::in: 檔案以輸入方式開啟
ios::out: 檔案以輸出方式開啟
ios::nocreate: 不建立檔案,所以檔案不存在時開啟失敗
ios::noreplace:不覆蓋檔案,所以開啟檔案時如果檔案存在失敗
ios::trunc: 如果檔案存在,把檔案長度設為0
可以用「或」把以上屬性連線起來,如ios::out|ios::binary
開啟檔案的屬性取值是:
0:普通檔案,開啟訪問
1:唯讀檔案
2:隱含檔案
4:系統檔案
例如:以二進位制輸入方式開啟檔案c:\config.sys
fstreamfile1;
file1.open("c:\\config.sys",ios::binary|ios::in,0);
ofstream file;
2. close函式
函式原型:void close()
3. 二進位制檔案(binary files)
在二進位制檔案中,使用<< 和》,以及函式(如getline)來操作符輸入和輸出資料,沒有什麼實際意義,雖然它們是符合語法的。
檔案流包括兩個為順序讀寫資料特殊設計的成員函式:write 和 read。第乙個函式 (write) 是ostream 的乙個成員函式,都是被ofstream所繼承。而read 是istream 的乙個成員函式,被ifstream 所繼承。類 fstream 的物件同時擁有這兩個函式。它們的原型是:
write ( char *buffer, streamsize size );
read ( char * buffer, streamsize size );
這裡 buffer 是一塊記憶體的位址,用來儲存或讀出資料。引數size 是乙個整數值,表示要從快取(buffer)中讀出或寫入的字元數。
// reading binary file
#include #include const char * filename = "example.txt";
int main ()
寫檔案舉例:
// writing on a text file
#include int main ()
return 0;
}
讀檔案舉例:
// reading a text file
#include #include #include int main ()
while (! examplefile.eof() )
return 0;
}
C庫檔案操作函式詳解
c庫檔案操作標準庫函式彙總 檔案的開啟操作 fopen 開啟乙個檔案 檔案的關閉操作 fclose 關閉乙個檔案 檔案的讀寫操作 fgetc 從檔案中讀取乙個字元 fputc 寫乙個字元到檔案中去 fgets 從檔案中讀取乙個字串 fputs 寫乙個字串到檔案中去 fprintf 往檔案中寫格式化資...
C語言檔案操作函式詳解
三 順序讀寫資料檔案 四 用格式化的方式讀寫文字檔案 五 用二進位制方式向檔案讀寫一組資料 六.隨機讀寫資料檔案 七 檔案讀寫的出錯檢測 c語言檔案詳解 一 定義乙個指向檔案 file型別資料 的指標 指向檔案的指標變數並不是指向外部介質上的資料檔案的開頭,而是指向記憶體中的檔案資訊區的開頭。二 開...
c 檔案操作詳解
c 通過以下幾個類支援檔案的輸入輸出 ofstream 寫操作 輸出 的檔案類 由ostream引申而來 ifstream 讀操作 輸入 的檔案類 由istream引申而來 fstream 可同時讀寫操作的檔案類 由iostream引申而來 開啟檔案 open a file 對這些類的乙個物件所做的...