次の方法で共有


ディスク コミット定数

Microsoft 固有の仕様 →

#include <stdio.h>

解説

これらの Microsoft 固有の定数は、開いているファイルに関連付けられているバッファーがオペレーティング システム バッファーやディスクにフラッシュするかどうかを指定します。 モードは文字への読み取り/書き込みアクセス ("r""w""a""r+""w+""a+") の型が含まれます。

ディスクにコミット モードは次のとおりです。:

  • c
    ディスクに指定したバッファーに書き込まれていない内容を書き込みます。 このコミットにディスクの機能は fflush または _flushall 関数の明示的な呼び出しでのみ実行されます。 このモードは、機密データを処理する場合に便利です。 データは、オペレーティング システムのバッファーに達したことを fflush または _flushallのの呼び出しにとって得られたら、たとえば、プログラムが終了します。 ただし、ファイルを開く c オプションと、データはディスクにオペレーティング システムが終了した場合は、これを行うことがあります。

  • n
    オペレーティング システムのバッファーに指定したバッファーに書き込まれていない内容を書き込みます。 オペレーティング システムがデータをキャッシュし、ディスクに書き込む最適な時間を確認できます。 多くの状況では、この動作は効率的なプログラムの動作になります。 ただし、データの保持を重視 (Bank トランザクションまたは航空券情報など) c オプションを使用することを検討してください。 n モードは既定です。

    注意

    cn オプションは ANSI 互換が必要な場合は fopenの ANSI 規格の一部ではなく、Microsoft 拡張機能、使用しないでください。

既存のコードのディスクのコミット機能を使用する

fflush への既定で、または呼び出し _flushall ライブラリ関数は、オペレーティング システムによって保持されるバッファーにデータを書き込みます。 オペレーティング システムは、実際にディスクにデータを書き込む最適なタイミングを決定します。 ランタイム ライブラリのディスクのコミット機能、重要なデータがオペレーティング システムのバッファーにではなく、ディスクに直接書き込むことを確認できるようになります。 既存のプログラムでそれを書き換えずに COMMODE.OBJ とオブジェクト ファイルをリンクすることで、この機能を持たせることができます。

生成された実行可能ファイルには、fflush の呼び出しはディスクにバッファーの内容を直接記述、_flushall の呼び出しはディスクにすべてのバッファーの内容を書き込みます。 これらの関数は、COMMODE.OBJ の影響を受けるのみです。

END Microsoft 固有の仕様

参照

関連項目

ストリーム入出力

_fdopen、_wfdopen

fopen、_wfopen

グローバル定数