使用 ofstream 将文本写入文件末尾
Posted
技术标签:
【中文标题】使用 ofstream 将文本写入文件末尾【英文标题】:Using ofstream to write text to the end of a file 【发布时间】:2008-10-01 13:51:35 【问题描述】:如何而不擦除其内容?
【问题讨论】:
【参考方案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 个参数的那个。
【讨论】:
以上是关于使用 ofstream 将文本写入文件末尾的主要内容,如果未能解决你的问题,请参考以下文章