C 二進位制檔案寫操作

2021-09-07 23:19:22 字數 1528 閱讀 9987

#include

<

fstream.h

>

main()

;for

(inti=

0;i<9;i

++)ofstream rs(

"ok2002com.bin

",ios::binary);

//開啟二進位制檔案ok2002com.bin;注意:開啟二進位制檔案時,訪問模式設定為:ios::binary

for(i=0

;i<9;i

++)rs.close();

cin>>

i;}

*執行結果:

-----------------------------01

12123

1234

12345

123456

1234567

12345678

rs.tellp(0)=2, rs.tellp(0)=4

rs.tellp(1)=4, rs.tellp(1)=8

rs.tellp(2)=7, rs.tellp(2)=12

rs.tellp(3)=11, rs.tellp(3)=16

rs.tellp(4)=16, rs.tellp(4)=20

rs.tellp(5)=22, rs.tellp(5)=24

rs.tellp(6)=29, rs.tellp(6)=28

rs.tellp(7)=37, rs.tellp(7)=32

rs.tellp(8)=46, rs.tellp(8)=36

-----------------------------

●文字方式儲存與二進位制方式儲存的一些區別:

1、文字方式儲存

每個資料在檔案中的長度不等,所佔的位元組數與資料的位數有關,資料間必須用分隔符(如空格)隔開;

2、二進位制方式儲存

每個資料在檔案中的長度相同,所佔位元組數僅與資料型別有關,資料間不需要加入分隔符。

●二進位制讀寫檔案的優點

(1)便於對資料進行隨機訪問;

(2)訪問效率高;

(3)可以對檔案進行壓縮處理;

(4)儲存密度大;

(5)資料檔案便於保密;

●二進位制讀寫檔案需了解:

(1)二進位制讀寫檔案相容性低;

●到底用文字方式儲存較好?還是用二進位制方式儲存較好?

通常將文字資訊以文字檔案方式儲存,而將數值資訊以二進位制方式儲存。

●什麼是文字資訊?什麼是數值資訊?

數值資訊:產品銷售**、公司總資產、公司年純收入等等。共同屬性:數字參與計算;

需注意:文字資訊與數值資訊沒有絕對的界線,二者可能會相互轉換,如:僅僅公布公司季度獲利情況,可儲存為文字資訊,因為其中的金額此次不用於運算。

●c++中tellp()函式與tellg()函式

tellp()函式用來獲取「輸出指標」的當前位置(從檔案首到當前位置的位元組數);

tellg()函式用來獲取「讀入指標」的當前位置(從檔案首到當前位置的位元組數)。

C 二進位制檔案寫操作

include fstream.h main for inti 0 i 9 i ofstream rs ok2002com.bin ios binary 開啟二進位制檔案ok2002com.bin 注意 開啟二進位制檔案時,訪問模式設定為 ios binary for i 0 i 9 i rs.cl...

C 二進位制檔案寫操作

include fstream.h main for inti 0 i 9 i ofstream rs ok2002com.bin ios binary 開啟二進位制檔案ok2002com.bin 注意 開啟二進位制檔案時,訪問模式設定為 ios binary for i 0 i 9 i rs.cl...

二進位制檔案操作

無關資料區 jpg資料區 無關資料區 jpg資料區 無關資料區 jpg資料區 現想把這些jpg資料從該檔案中讀出來,生成乙個個單獨的檔案,該如何做呢?幫你寫了個程式,測試了只含有乙個資訊的檔案 呼叫 void test fp.close 思路是,先得到ff的值,然後再判斷下一位是否是0xd8,但這裡...