国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
C++二進(jìn)制文件讀寫(xiě)
1、打開(kāi)文件。

  打開(kāi)文件可以有兩種方式,第一種可以使用fstream類的構(gòu)造函數(shù)。

  fstream file("test.dat",ios_base::in|ios_base::out|ios_base::app);

  另外一種方法就是使用open函數(shù)。

  fstream file;

  file.open("test.dat",ios_base::in|ios_base::out|ios_base::app);

  這樣就可以打開(kāi)一個(gè)可讀寫(xiě)的文件了。如果文件不存在的話,就會(huì)創(chuàng)建一個(gè)新文件并且以讀寫(xiě)方式打開(kāi)。

  這里需要說(shuō)明一點(diǎn),如果文件不存在的話,open函數(shù)中第二個(gè)參數(shù)必須包含ios_base::out|ios_base::app,

  否則就不能正確創(chuàng)建文件。

  2、寫(xiě)文件。

  先進(jìn)性寫(xiě)文件的操作否則讀一個(gè)空文件是沒(méi)有意義的。

  既然是寫(xiě)二進(jìn)制文件可以向文件中寫(xiě)入一個(gè)整形值。寫(xiě)二進(jìn)制字符只能使用write函數(shù)。

  但是write函數(shù)的原形是write(const char * ch, int size)。第一個(gè)參數(shù)是char *類型,所以需要把將要寫(xiě)入

  文件的int類型轉(zhuǎn)換成char *類型。這里的轉(zhuǎn)換困擾了我好幾天,不過(guò)終于弄明白了。代碼如下。

  int temp;

  file.write((char *)(&temp),sizeof(temp));

  3、讀文件。

  可以寫(xiě)文件了,讀文件就好辦多了。讀文件需要用到read函數(shù)。其參數(shù)和write大致相同,read(const char * ch, int size)。

  要把內(nèi)容讀到int類型變量中同樣涉及到一個(gè)類型轉(zhuǎn)換的問(wèn)題。和寫(xiě)文件一樣。

  int readInt;

  file.read((char *)(&readInt),sizeof(readInt));

  這樣文件中的int值就讀入到int型變量readInt中了。

  4、文件指針。

  在文件的讀寫(xiě)過(guò)程中往往需要對(duì)文件進(jìn)行選擇性讀取。所以需要進(jìn)行文件指針的移動(dòng)。這是需要用到seekg和seekp函數(shù)。

  在fstream類中有兩個(gè)文件指針,一個(gè)是讀取文件的指針,一個(gè)是寫(xiě)文件的指針?lè)謩e用tellg和tellp文件來(lái)取得指針的位置。

  同樣seekg和seekp兩個(gè)函數(shù)分別是對(duì)這兩個(gè)指針進(jìn)行移動(dòng)的函數(shù)。這兩個(gè)函數(shù)的參數(shù)都是一樣的。

  先對(duì)幾個(gè)枚舉類型進(jìn)行一下說(shuō)明:

  ios_base::beg ——文件開(kāi)始位置

  ios_base::cur ——文件當(dāng)前位置

  ios_base::end ——文件末尾位置

  下面以seekg為例說(shuō)明一下指針移動(dòng)的方法:

  file.seekg(3)   ——指針移動(dòng)到第三個(gè)字符的位置

  file.seekg(ios_base::beg) ——指針移動(dòng)到文件開(kāi)頭

  file.seekg(ios_base::end) ——指針移動(dòng)到文件末尾

  file.seekg(-3,ios_base::cur) ——指針當(dāng)前位置向前移動(dòng)三個(gè)字符

  file.seekg(3,ios_base::cur) ——指針當(dāng)前位置向后移動(dòng)三個(gè)字符

  file.seekg(3,file.tellg()) ——指針當(dāng)前位置向后移動(dòng)三個(gè)字符

  file.seekg(file.tellg()+3) ——指針當(dāng)前位置向后移動(dòng)三個(gè)字符

  5、對(duì)文件操作完畢后別忘了關(guān)閉文件。

  file.close();

  以上5個(gè)步驟就完成了對(duì)文件的讀寫(xiě)操作。文本文件的操作是相同的,比二進(jìn)制文件還要簡(jiǎn)單。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
c++文件操作詳解
c/C++ 文件讀寫(xiě) 收集備用
C++中的文件輸入/輸出(3):掌握輸入/輸出流
C++中的文件操作
C++中對(duì)二進(jìn)制文件的讀寫(xiě)操作
輸入輸出流-Thinking in C 筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服