2

fstream オブジェクトのフラグ FILE_FLAG_BACKUP_SEMANTICS を設定するにはどうすればよいですか?

ほとんどのフラグは fstream で設定できますが、これは利用できないようです。旗についてはこちらで読むことができます。

4

1 に答える 1

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));
于 2008-10-24T17:07:42.600 に答える