1,打開文件。
有兩種方法可以打開文件。第壹種方法是使用fstream類的構造函數。fstream文件(" test.dat ",IOs _ base::in | IOs _ base::out | IOs _ base::app);另壹種方法是使用。
開放功能。fstream文件;file.open("test.dat ",IOs _ base::in | IOs _ base::out | IOs _ base::app);
這樣就可以打開壹個讀寫文件。如果文件不存在,將創建壹個新文件,並以讀寫模式打開。這裏需要註意的是,如果文件不存在,open函數中的第二個參數必須包含ios_base::out|ios_base::app,否則無法正確創建文件。
2.寫壹個文件。
寫文件的操作是高級的,否則讀取空文件是沒有意義的。
由於您正在編寫壹個二進制文件,因此可以向該文件中寫入壹個整數值。只有write可以用來寫二進制字符。
功能。但是write函數的原型是write(const char * ch,int size)。第壹個參數是char *
類型,所以需要把int類型轉換成char *類型。這裏的過渡困擾了我好幾天,但我終於想通了。代碼如下。內部溫度;file . write((char *)(& amp;temp)、sizeof(temp));
3.閱讀文件。
可以寫文件,讀文件會輕松很多。讀取文件需要Read函數。它的參數和寫
差不多,read(const char * ch,int size)。將內容讀入int類型變量也涉及到類型轉換問題。就像寫文件壹樣。int readIntfile . read((char(& amp;readInt)、sizeof(readInt));這樣,文件中的int值被讀入int變量。
ReadInt贏了。
4.文件指針。
在讀寫文件的過程中,經常需要有選擇地讀取文件。所以妳需要移動文件指針。這需要使用seekg和seekp函數。fstream類中有兩個文件指針,壹個是讀取文件的指針。
壹個是寫文件的指針。tellg和tellp文件分別用來獲取指針的位置。同樣,兩個函數seekg和seekp分別是移動這兩個指針的函數。這兩個函數的參數是相同的。首先,解釋幾種枚舉類型:
IOS _ BASE::BEG-文件開始位置IOS _ BASE::Cur-文件當前位置IOS _ BASE::END-文件結束位置我們以seekg為例來說明如何移動指針:file。SEEKG(3)-指針移動到第三個字符file.seekg(ios_base::beg)的位置。-指針移動到file . seekg(IOs _ base::end)-指針移動到file.seekg (-3,IOs _ base:: cur)-
指針當前位置前移三個字符file.seekg (3,IOs _ base::cur)-指針當前位置後移三個字符file.seekg (3,file . tellg())-指針當前位置後移三個字符file . seekg(file . tellg()+3)-指針當前位置後移三個字符。
5.完成操作後,不要忘記關閉文件。