fstream オブジェクトのフラグ FILE_FLAG_BACKUP_SEMANTICS を設定するにはどうすればよいですか?
ほとんどのフラグは fstream で設定できますが、これは利用できないようです。旗についてはこちらで読むことができます。
fstream オブジェクトのフラグ FILE_FLAG_BACKUP_SEMANTICS を設定するにはどうすればよいですか?
ほとんどのフラグは fstream で設定できますが、これは利用できないようです。旗についてはこちらで読むことができます。
私は過去にこの種のことをしたことがありますが、久しぶりなので、それが正しいかどうかはわかりません。
十分に文書化されていませんが、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));