微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在偏移处读取文件的 len 个字节并将其写入 FILETIME

如何解决在偏移处读取文件的 len 个字节并将其写入 FILETIME

当只知道应该是红色的元素的大小和偏移量(六进制)时,是否有可能从二进制文件中读取某些内容

例如,如果我想读取一个 8 字节的 FILETIME 变量,偏移量为 0x001C,我该如何处理它是 C 还是 C++?

我试过了

fseek(pFile,0x001C,SEEK_SET);
FILETIME* temp =(FILETIME*) malloc(sizeof(FILETIME));
fscanf(pFile,"%d",*temp);

但它不能正常工作,我不知道为什么。

谢谢

解决方法

您可以使用 fseek 设置偏移量,然后使用 fread 读取 len 个字节:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    FILE *file = fopen("read_bytes.c","rb");
    size_t offset = 0x001C;
    size_t len = 8;

    fseek(file,offset,SEEK_SET);
    FILETIME* temp = malloc(sizeof(FILETIME));
    fread(temp,1,len,file);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。