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 Bytes pointing to begin of .... next block of byte array 。 ……”

我只是想从上面的示例代码中的这三个字节中计算出相同的值。

希望这是有道理的

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,它会自动读取Little Endian

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 回答