【问题标题】:Are file contents deleted when a text file is opened in "ios::in|ios::out" mode?以“ios::in|ios::out”模式打开文本文件时,文件内容是否被删除?
【发布时间】:2018-12-30 01:01:10
【问题描述】:

我最近很生气,当使用ios::out 模式打开文本文件时,默认情况下ios::trunc 可用。那么当我使用ios::in|ios::out 模式打开文件时,ios::trunc 是否会自动可用? 我认为内容不会被删除,因为还使用了ios::in,并且 get pointerput pointer 最初都将指向文件中的第 0 个字节。 我说的对吗?

【问题讨论】:

  • 你有没有尝试做任何研究? This page 解释了你需要知道的一切。
  • 您不应该否决这个问题。我搜索但找不到解决方案。
  • 为什么我不应该投反对票?我的看法:你没有做任何研究,因为我花了不到一分钟的时间找到了我链接到的页面。

标签: c++ file-io text-files fstream file-handling


【解决方案1】:

虽然out 单独暗示了trunc,但in|out 却没有。此处列举了完整的详细信息:https://en.cppreference.com/w/cpp/io/basic_filebuf/open

如果你想写入文件但不破坏现有内容,你也可以使用app(这意味着out)。缺少inapp,任何现有内容都将被out 销毁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    相关资源
    最近更新 更多