C ofstream删除和清理
作者:互联网
我正在编写有时必须清理的C ofstream-应该删除正在写入的文件,并删除和清理该类.
怎么样? (除了关闭它并按名称删除它).
(至少文件不应该与打开文件的预期位置和文件名一起存在-tempfile目录可以确定)
解决方法:
据我所知,没有其他办法.关闭文件并使用
用其名称删除.
最好由某种RAII类来处理.
我经常使用OutputFile类,该类进行隐式转换
到std :: ostream& (用于输出).构造函数的名称
文件有一个提交功能可以关闭文件,
但是如果析构函数在提交之前被调用,它不仅
关闭文件,但将其删除.同样,有一个
UpdateFile类,将打开
filename.new-提交然后重命名
文件名到filename.bak
(删除该名称的任何先前存在的文件),以及
将filename.new移动到
文档名称.然后析构函数删除
filename.new. (一个变体检查
新内容与旧提交内容不同,因此
如果内容没有更改,则文件时间戳不会更改.)
标签:ofstream,c,stl,standard-library 来源: https://codeday.me/bug/20191013/1904680.html