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

Read len bytes of a file at offset and write it to 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);
}