gpt4 book ai didi

c - 从字符串加载 C 结构

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:56 24 4
gpt4 key购买 nike

我的情况如下。我获得 FILE * 指针。我知道它可以指向不支持查找的 FILE 类型(可以是 PIPE)。因此,为了让事情变得更简单,我想到了将文件的一部分作为字符串缓冲区加载到内存中。

问题是,我的文件除了一些其他内容外还包含我需要加载到内存中的 C 结构。到目前为止,我尝试的一切都失败了。

最有前途的似乎是 fmemopen,但是当我将它添加到我的代码中时,我得到了

warning: implicit declaration of function ‘fmemopen’ [-Wimplicit-function-declaration]
stream = fmemopen (buffer, p_header.bytes, "r");

警告,这当然不是我想要的。即使我添加了 stdio.h include,它仍然是隐式声明的。

对此有什么办法吗?我可以以某种方式在内存中创建 FILE * 类型的东西,以便我可以调用 fread 吗?或者有没有办法从字符串中读取结构?

我使用 fread 如下:

fread(&var_of_type_love_struct_t, sizeof(love_struct_t), 1, myfile);  

最佳答案

关于fmemopen的警告是编译器没有找到原型(prototype),添加

#define _GNU_SOURCE

之前包括所有 header ,或者,如果使用 GCC,请将 -D_GNU_SOURCE 添加到选项中。

关于c - 从字符串加载 C 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742100/

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