gpt4 book ai didi

c++ - 如何在excel vba中读取c++结构二进制文件

转载 作者:太空狗 更新时间:2023-10-29 21:50:18 24 4
gpt4 key购买 nike

我有一个 C++ 生成的结构文件,其中包含二进制形式的相应结构:

struct userinfo
{
char username[200];
char Password[200];
char Genkey[200];
long UniqueKey;
};

如何在 Excel VBA 代码中读取此文件?

最佳答案

这应该会让你到达某个地方:

Option Explicit

Type userinfo
username As String * 200
Password As String * 200
Genkey As String * 200
UniqueKey As Long
End Type

Sub readbin()
Dim rec As userinfo
Dim intFileNum As Integer
intFileNum = FreeFile
Open "C:\Temp\my.bin" For Binary Access Read As intFileNum
Do While Not EOF(intFileNum)
Get intFileNum, , rec
Debug.Print "->", rec.UniqueKey, rec.username
Debug.Print , rec.Password
Debug.Print , rec.Genkey
Loop
Close intFileNum
End Sub

进一步说明:C++ 填充不是标准化的,在与其他语言交互时会很痛苦。处理 C++ 填充的最佳方法是将其删除,使其成为语言中立的。这可以通过 redefining C++ to 来完成:

#pragma pack (push, 1)
struct userinfo
{
char username[200];
char Password[200];
char Genkey[200];
long UniqueKey;
};
#pragma pack (pop)

尽管如果您不能修改源程序,那么您可能需要四处寻找其他选项。

关于c++ - 如何在excel vba中读取c++结构二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6450329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com