檔案的輸入輸出 C

2021-06-23 09:04:41 字數 1791 閱讀 8453

1、3種檔案流:fstream、ifstream、ofstream。其都定義在fstream.h。

2、建立流:

fstream both;

ifstream in ;

ofstream out;

3、開啟流:
void open(const unsigned char *,int mode,int access=filebuf::openprot)
第乙個引數為檔名,如"c:"。第二個引數mode由以下幾種:

ios::in //用於讀取檔案,檔案必須存在。

ios::out //用於輸出。

ios::binary //以二進位制方式開啟檔案,預設時是以文字。

ios::nocreat //檔案不存在將報錯,預設時不會報錯。

ios::noreplace //檔案存在報錯。

ios::ate //查詢檔案

ios::trunc //檔案存在,則原同名檔案被刪除

第三個引數access有幾種:0   普通檔案 ,1 唯讀檔案 ,2 隱含檔案  ,4  系統檔案,8 備份檔案 。

注意:開啟ifstream流預設為ios::in,0;ofstream流預設為ios::out,0。除了用open開啟,還可以使用建構函式開啟,如

ofstream out("c:");
if(!out);//開啟失敗檢測處理

4、關閉:
out.close();
5、檔案讀寫:如
out<<" "<<123<<"file";//寫 123file到檔案上

char str[80];

in>>str;//讀到str陣列中

6、二進位制檔案的讀寫:

6.1、

ifstream &get(char &ch);//讀入乙個字元到ch位址中

ofstream &put(char ch);//將ch寫入流中並返回流

6.2、

ifstream &read(unsigned char *buf,int num);//從流讀出num位元組到buf指向的緩衝區,注意*buf的型別,常用到強制轉換(unsigned char *)

ofstream &write(const unsigend char *buf, int num);//把num位元組的buf中的資料寫入到流

//例子:

int i;

in.read((unsigned char *)&i,sizeof(int));

int j=1234;

out.write((const char *) &j,sizeof(int));

//結構型別讀寫

struct atypr;

struct atypr a;

out.write((const char *)&a,sizeof(struct stypr));

in.read((char*)&a,sizeof(struct atypr));

7、檢測檔案結束:三種方法:

//法一

if(!in.eof())

//法2

if(!in){}//檢測該流物件是否為零

//法3

while(in.get(c))

{
cout<

C 檔案輸入輸出

檔案輸入輸出 1 directory info 和file info 型別 directory和file通過靜態成員實現操作,擴充套件了system.object。返回強型別物件。directoryinfo和fileinfo通過例項級方法實現 必須使用new關鍵字分配它們 從filesystemin...

C 檔案輸入輸出

儲存在變數,陣列,物件中的資料都是暫時性的,當程式退出以後就會丟失,為了永久性儲存程式中有用資料,需要將資料以檔案形式儲存於磁碟或者光碟等物理介質。c 檔案主要是兩種 文字檔案和二進位制檔案 例如c 源程式是儲存在文字檔案,而最後的可執行程式是二進位制檔案。當然計算機本身是不區分二進位制檔案和文字的...

C 檔案輸入輸出

1 文字檔案的讀寫 文字檔案的讀寫,可以使用類似cin,cout方式,此外還有getline,get,二進位制檔案讀寫方式read,write經測試也可以使用 include include int main char buffer 256 注意使用getline讀至buffer,需新增 0 whi...