如何为fstream对象设置标志FILE_FLAG_BACKUP_SEMANTICS?

时间:2008-10-24 15:23:46

标签: c++ winapi visual-c++ fstream

如何为fstream对象设置标志FILE_FLAG_BACKUP_SEMANTICS?

您可以使用fstream设置大多数标记,但似乎这个标记不可用。您可以阅读标志here

1 个答案:

答案 0 :(得分:1)

我过去做过这种事情,但已经有一段时间了,所以我不确定我是否正确。

没有详细记录,但在vs2008中,fstream将FILE对象作为构造函数。您可以使用_fdopen()从文件ID创建FILE对象。您可以使用_open_osfhandle从os句柄获取文件ID。

所以我觉得它就像:

int id = _open_osfhandle(CreateFile(..., FILE_FLAG_BACKUP_SEMANTICS...));
fstream f = new fstream(_fdopen(id));