C 使用BinaryReader類讀取二進位制檔案

2022-01-13 15:21:14 字數 1382 閱讀 1295

close():關閉binaryreader物件;

readdecimal():從指定流讀取乙個十進位制數值,並將在流中的位置向前移動16個位元組。

readbyte():從指定流讀取乙個位元組值,並將在流中的位置向前移動乙個位元組。

readint16():從指定流讀取兩個位元組帶符號整數值,並將在流中的位置向前移動兩個位元組。

readint32():從指定流讀取兩個位元組帶符號整數值,並將在流中的位置向前移動兩個位元組。

readstring():從指定流讀取字串,該字串的字首為字串長度,編碼為整數,每次7位元。

binaryreader類建立物件時必須基於所提供的流檔案。

使用binaryreader類讀取二進位制資料例項:

我們使用上節寫入的文字檔案

using system;

using system.collections.generic;

using system.io;

using system.text;

public class myclass

{public static void main()

{string path = @"c:\123.txt";

filestream fs = new filestream(path, filemode.open,fileaccess.read);

binaryreader br = new binaryreader(fs);

char cha;

int num;

double doub;

string str;

try{

while (true)

{cha = br.readchar();

num = br.readint32();

doub = br.readdouble();

str = br.readstring();

console.writeline("{0},{1},{2},{2}", cha, num, doub, str);}}

catch (endofstreamexception e)

{console.writeline(e.message);

console.writeline("已經讀到末尾");

}finally

{console.readkey();}}

我們利用建立的檔案作為原始檔,建立了filestream物件,並基於該物件建立了binaryreader物件,呼叫binaryreader物件的讀取檔案內容的各個方法,分別讀出原始檔中的字元,整型資料,雙精度資料和字串。由於不確定要遍歷多少次才能讀取檔案末尾,出現endstreamexception異常。迴圈內讀取的資料被輸出到控制台。

來自:

C 使用BinaryReader類讀取二進位制檔案

binaryreader類用來讀取二進位制資料,其讀取資料的方法很多,常用方法如下 close 關閉binaryreader物件 read 從指定流讀取資料,並將指標遷移,指向下乙個字元。readdecimal 從指定流讀取乙個十進位制數值,並將在流中的位置向前移動16個位元組。readbyte 從...

使用c 包裝c

今天公司讓使用c 包裝c 提供c 的介面給客戶使用,現在記錄一下實現過程。對你的vs進行如上改動便可。3 註冊。關於註冊我上面說的那個部落格已經非常清楚了,這裡不再贅述。上面說的是一些硬性的條件。除了這些之外還有一些值得注意的是 dll檔案的存放位置以及需要的檔案。c 生成的dll檔案包括 dll和...

C 使用extern C 簡單使用

先說一下函式過載,c 之所以會進行函式過載,是因為對函式名進行二次修飾 重新命名 在c檔案中寫好的程式,c 引入過來,卻沒法使用提示 無法連線的外部符號,那是因為c 按照c 的函式命名機制來尋找函式的實現.第一種情況 檔案為 test.h void show 進行了函式宣告檔案 test.c inc...