【发布时间】:2016-12-21 11:42:52
【问题描述】:
我想制作ifstream打开时可以删除的文件。
我知道使用 Windows API 很容易:CreateFile
CreateFile(...,FILE_SHARE_DELETE,...)
但是当我通过 ifstream 打开文件进行测试时。
打开后无法删除。
我没有在ifstream 上找到任何关于设置属性的文档,例如FILE_SHARE_DELETE。
我应该如何解决这个问题?
【问题讨论】:
-
你不能以便携的方式。
-
如果需要,我想我会想办法用现有的 C
FILE句柄或文件号打开ifstream,这反过来又对应于 API 级别的句柄。也许 -
一些编译器(例如
GCC)以Technical Specification的形式提供即将成为标准的文件系统 库。您可以使用:std::experimental::filesystem::remove。否则boost中存在相同(或相似)的库。 -
@Galik 这与
FILE_SHARE_DELETE无关 -
关于 Alf 的建议,另见stackoverflow.com/questions/475853/…