1. 程式人生 > >C++文件讀寫操作

C++文件讀寫操作

run -- 模式 ocr bin 第一個 輸出數據 con char

1、文件寫入

  ofstream類:

  ofstream( const char* szName, int nMode = ios::out, int nProt = filebuf::openprot );

    szName:指定將要打開的文件名;

    nMode:指定文件打開的模式,包括:

      ios::app --先執行一個定位,將文件指針移動至文件末尾,當向文件寫入新數據時,將總是添加到文件的末尾處;

      ios::ate --先執行一個定位,將文件指針移動至文件末尾,當向文件寫入第一個新的字節數據時,將在文件的末尾處添加,但隨後寫入的其它字節數據,將被寫入到當前位置;

      ios::in --指定該模式時,已存在的原始文件將不會被截斷;

      ios::out --打開文件,用於存放所有的ofstream對象的輸出數據;

      ios::trunc --如果文件已存在,將被清空;如果指定了ios::out模式而沒有指定ios::app/ios::ate/ios::in模式,則默認執行該模式清空文件中的數據內容;

      ios::nocreate --如果文件不存在,則函數調用失敗;

      ios::noreplace --如果文件已存在,則函數調用失敗;

      ios::binary --以二進制方式打開文件(默認以文本方式);

    nProt:指定文件保護規則,包括:

      filebuf::sh_compat --兼容共享模式;

      filebuf::sh_none --排他獨占模式,不共享;

      filebuf::sh_read --允許讀共享;

      filebuf::sh_write --允許寫共享;

2、文件讀取

  ifstream類:

  ifstream( const char* szName, int nMode = ios::in, int nProt = filebuf::openprot );

    構造方法同ofstream類

3、須包含頭文件:#include <fstream.h>

例:

#include <fstream.h>

ofstream ofs("1.txt");
ofs.write("hello world!", strlen("hello world!"));
ofs.close();
ifstream ifs("1.txt");
char ch[100];
memset(ch, 0, 100);
ifs.read(ch, 100);
ifs.close();
MessageBox(ch);

C++文件讀寫操作