如何为 fstream 对象设置标志 FILE_FLAG_BACKUP_SEMANTICS?
您可以使用 fstream 设置大多数标志,但似乎这个标志不可用。您可以在此处阅读有关该标志的信息。
如何为 fstream 对象设置标志 FILE_FLAG_BACKUP_SEMANTICS?
您可以使用 fstream 设置大多数标志,但似乎这个标志不可用。您可以在此处阅读有关该标志的信息。
我过去做过这种事情,但已经有一段时间了,所以我不确定我做对了。
没有很好的文档记录,但是在 vs2008 中,fstream 将 FILE 对象作为构造函数。您可以使用 _fdopen() 从文件 id 创建 FILE 对象。您可以使用 _open_osfhandle 从操作系统句柄获取文件 ID。
所以我认为它就像:
int id = _open_osfhandle(CreateFile(..., FILE_FLAG_BACKUP_SEMANTICS...));
fstream f = new fstream(_fdopen(id));