如何解决从 C 中读取二进制文件,存储 32 位机器指令 LEGv8
我已经环顾了这个网站,但找不到适合我的问题的答案。我需要使用 fread() 读取一个二进制文件(我可以这样做)并将 32 位二进制指令(机器代码)保存到一个整数变量中。我试图将读取的数据存储到一个无符号字符缓冲区数组中,它将 2 个 4 位十六进制字符存储到缓冲区中的一个数组槽中,就像这样
unsigned char buffer[4];
fread(buffer,sizeof(unsigned char),4,ptr);
所以这个缓冲区[0-3]返回91 00 0C 22。
这会导致一个问题,如果我尝试将十六进制数字转换为二进制,我在开始时无法将丢失的 0 连接到小于 8 的十六进制数字,例如 7 (111) 需要连接到最后32 位整数为 0111。我知道我可能会添加更多代码,但必须有一种更简单的方法来读取 32 位机器代码并将其直接存储到 int 变量中,或者如果需要的话,可以将其存储到 long long int 中。如果你能帮助我理解 fread 函数在读取机器代码时在做什么,这样我就可以更好地理解如何以我想要的方式存储数据,那就太棒了。提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。