使用FILE_ATTRIBUTE_TEMPORARY和FILE_FLAG_DELETE_ON_CLOSE

我在创buildC ++应用程序中的临时文件时使用了两个标志FILE_ATTRIBUTE_TEMPORARYFILE_FLAG_DELETE_ON_CLOSE 。 根据这个博客 ,不应该在磁盘上创build任何文件。 但在我的代码中,文件被创build并写入到磁盘上(即使是1 KB数据)。 有人可以确认这些标志的确切function,以及文件是否在磁盘上创build?

Solutions Collecting From Web of "使用FILE_ATTRIBUTE_TEMPORARY和FILE_FLAG_DELETE_ON_CLOSE"

稍后在同一个链接中,有引号:

如果超出可用内存,内存管理器将把文件数据刷新到磁盘。 这会导致性能下降,但是您的操作将成功,而不是失败。

将文件标记为临时文件会告诉系统它不需要在磁盘上,但是也不能阻止它被放置在那里。

它只是说,该文件将永远不会被刷新到磁盘。 这意味着,虽然它存在于您的文件系统中,但它永远不会被物理存储在您的硬盘上。 文件系统将显示它,但实际大小和所有。