因此,我正在做一个项目,但未能将所有内容放在一起进行这项工作。我们需要读入二进制文件的头并将它们存储在指定的指针处。

我正在使用的功能:

int read_header (FILE *file, elf_hdr_t *hdr);


我知道如何将信息传递给函数,但是我无法理解如何读入指定的指针。我整天都在努力寻找信息,但无法真正找到起点...感谢您提供的任何指导。

到目前为止,我的代码:

int read_header (FILE *file, elf_hdr_t *hdr)
{
    int read;
    read = fread(hdr, 1, sizeof(hdr), file);
    fclose(file);
}


我想知道我是否在做我在这里尝试的事情,基本上是想一次读取一个字节到指定的指针。

最佳答案

由于hdr是指针,因此sizeof(hdr)只是指针的大小。您希望sizeof(*hdr)sizeof(elf_hdr_t)获得指针指向的elf标头结构的大小...

关于c - 如何读取二进制文件并将数据存储在C中的指针处,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52462321/

10-10 11:20