gpt4 book ai didi

c++ - 如何将对象的指针写入文件?

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

我有一种情况需要将一个对象的指针存储到一个文件中并在同一进程中再次读取它。我应该怎么做?

现在我这样写/读:

    Myclass* class  = <valid pointer to Myclass>
FILE* output_file = fopen(filename, "w");
fwrite(class, sizeof(class), 1, output_file)

// and read it

FILE* in_file = fopen(filename, "r");
Myclass* class_read
fread(class_read, sizeof(class_read), 1, in_file)

我在回读时没有看到正确的值。我将在同一个地址空间中读写这些文件。

最佳答案

要读写指针本身,您需要传递它的地址,而不是它指向的地址:

fwrite(&class, sizeof(class), 1, output_file);
fread (&class_read, sizeof(class_read), 1, in_file);
^

您改为写入任何 class 指向的前几个字节,然后尝试将它们读回任何 class_read 指向的内容(如果它还不是有效指针)。

关于c++ - 如何将对象的指针写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30482889/

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