【问题标题】:File operation in C++C++中的文件操作
【发布时间】:2010-08-11 06:48:40
【问题描述】:

我已经将一个对象写入文件,但是当我从文件中读取对象时,它没有得到正确的值。如果 1 个对象被视为 1 条记录,并且文件中只有 1 条记录,则它正在获取值。如果我写更多的记录(许多相同类型的对象),那么它就没有得到价值。

【问题讨论】:

  • 显示您的代码会有所帮助。
  • 可能您尝试多次打开文件,但无法完成。打开文件时,必须先关闭它,然后才能打开它。
  • cplusplus.com/doc/tutorial/files。阅读并尝试弄清楚。
  • 1 条建议没有看到任何代码:看看文件,它是否包含预期的数据?

标签: c++ file io


【解决方案1】:

可能有几个问题。正如上面的 cmets 所示,在我看来,您与文件的交互方式可能是个问题。或者它可能是一个序列化问题。

我最近了解到,不能简单地将类写入文件,因为它不能保证是连续的内存(还有其他原因,但我认为不要这样做)。

相反,需要在将对象/类写入文件之前对其进行序列化。

我发现对此有用的几个网络资源是:

http://functionx.com/cpp/articles/serialization.htm(我非常喜欢这个)。

http://functionx.com/cpp/articles/serialization.htm

Is it possible to serialize and deserialize a class in C++?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2016-02-21
    • 1970-01-01
    相关资源
    最近更新 更多