0

QTextStream を使用して QFile に書き込んでいますが、すべてうまくいきます。エラー検出を作成しようとしているので、書き込みの合間に出力ファイルを削除してみました。

Strangle、Qtextstream のステータスは引き続き 0 (エラーなし) を示し、QFile のエラー メソッドは 0 を返します。それでもファイルはなくなり、書き込まれたテキストは失われています...なくなっています

どうしたの?書き込みの失敗を検出するにはどうすればよいですか? 私は間違った方法を見ていますか?

4

1 に答える 1

1

Windowsについてはわかりませんが、LinuxおよびほとんどのUnixタイプのシステムでは、説明するシナリオはOSの観点からはまったくエラーではありません-削除されたファイルへの書き込みを続けることは完全に合法です(そしてそれは ".動作します」、データはファイルシステムとの間でシャッフルされます-このファイルは、最後のハンドルが閉じられるまでファイルシステムに残ります)。

(少なくともデフォルトのオープンモードで開いていた場合、Windowsでは使用中にファイルを削除しようとするとエラーが発生すると思いますが、100%確実ではありません。)

「ファイルが削除された」ことを確認する必要がある場合は、それらのチェックを自分で作成する必要があります。

于 2013-10-03T04:39:50.210 に答える