【问题标题】:Using ofstream to write text to the end of a file使用 ofstream 将文本写入文件末尾
【发布时间】:2008-10-01 13:51:35
【问题描述】:

如何使用 ofstream 将文本写入文件末尾而不擦除其内容?

【问题讨论】:

    标签: c++ ofstream


    【解决方案1】:

    打开文件时可以传递标志ios::app

    ofstream ofs("filename", ios::app);
    

    【讨论】:

      【解决方案2】:

      您想追加到文件中。创建ofstream时使用ios::app作为文件模式。

      追加将自动寻找到文件的末尾。

      【讨论】:

        【解决方案3】:

        使用 ios::app 作为文件模式。

        【讨论】:

          【解决方案4】:

          seekp()函数允许你任意设置文件指针的位置,用于打开的文件。

          【讨论】:

            【解决方案5】:

            正如人们上面提到的,以以下方式打开文件就可以了:

            ofstream out("path_to_file",ios::app);

            如果您想在默认情况下将数据附加到文件中,它就可以解决问题。

            但是,如果你想去到文件的末尾,在程序的中间,默认模式不是ios::app,你可以使用下面的语句:

            out.seekp(0,ios::end) 这会将放置指针从文件末尾放置 0 个字节。 http://www.cplusplus.com/reference/ostream/ostream/seekp

            确保使用正确的 seekp(),​​因为 seekp() 有 2 个重载。在这种情况下,首选具有 2 个参数的那个。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-01-11
              • 2014-06-30
              • 2014-10-26
              相关资源
              最近更新 更多