2

バイト配列を支援するためにダウンロードしたオープン ソース プロジェクトがあります。変換する必要があります

int x = fgetc(inpFile);
x |= fgetc(inputfile) <<8;
x |= fgetc(inputfile) <<16;
x |= fgetc(inputfile) <<24;

vb.net に。fgetc と inpFile はわかりました。残念ながら、私は C++ を知りません。また、ビット単位の操作が苦手です。

私が解釈しようとしているファイル形式 (私は刺繍形式リーダーで作業しています) の文書化は不十分であり、「アドレス HEX 0008 から 0010 = 3 バイトが .... バイト配列の次のブロックの先頭を指しています。 ..」

上記のコード例と同じ値をこれらの 3 バイトから計算しようとしているだけです。

これが理にかなっていることを願っています

4

2 に答える 2

3

私はこれで行きます

 dim x as integer = fgetc(inpFile) or 
                    fgetc(inpFile) << 8 or 
                    fgetc(inpFile) << 16 or 
                    fgetc(inpFile) <<24
于 2012-12-19T19:47:27.167 に答える
1

リトル エンディアンBinaryReaderで自動的に読み込まれる を使用できます。

Dim reader As BinaryReader
Dim x As Integer

reader = New BinaryReader(File.Open(fileName, FileMode.Open))
x = reader.ReadInt32()
于 2012-12-19T19:48:29.310 に答える