ディスク コミット定数
Microsoft 固有の仕様 →
#include <stdio.h>
解説
これらの Microsoft 固有の定数は開いているファイルに関連付けられているバッファーがオペレーティング システムのバッファーやディスクにフラッシュするかを指定します。モードを指定する文字への読み取り / 書き込みアクセス ( 「 r 」 「 w 」 「 a 」 「」 r+w+ 」 「 a+ 」 「 ) の種類あります。
ディスクにコミット モードは次のとおりです。:
C
ディスクに指定したバッファーに書き込まれていない内容を書き込みます。この機能はディスクにコミット fflush または _flushall の関数の明示的な呼び出しでのみ実行されます。このモードは重要情報を処理する場合に便利です。データはオペレーティング システムのバッファーになったことを fflush または _flushall のの呼び出し後にとってたとえばプログラムが終了します。ただしファイルを開く C オプションとデータはディスクへオペレーティング システムがまたは終了した場合はそれをすることがあります。n
オペレーティング システムのバッファーに指定したバッファーに書き込まれていない内容を書き込みます。オペレーティング システムはデータをキャッシュしディスクに書き込む最適なタイミングを判断できます。多くの状況ではこの動作は効率的なプログラムの動作になります。ただしデータの保存を重視する (Bank のトランザクションまたは航空券情報など) C オプションを使用することを検討してください。n モードは既定値です。[!メモ]
C と n オプションはANSI 互換が必要な場合 fopen の ANSI 規格にMicrosoft の拡張機能で使用しないでください。
既存のコードのコミットにディスク上の機能を使用する
既定ではfflush の呼び出しまたは _flushall ライブラリ関数はオペレーティング システムによって管理されるバッファーにデータを書き込みます。オペレーティング システムが実際にディスクにデータを書き込む最適な時期を判断します。ランタイム ライブラリのコミットにディスク上の機能は重要なデータがオペレーティング システムのバッファーではなくディスクに直接書き込むことを確認することができます。既存のプログラムに書き換えずに COMMODE.OBJ のオブジェクト ファイルをリンクしてこのようにすることができます。
生成された実行可能ファイルでfflush の呼び出しはディスクにバッファーの内容を直接記述し**_flushall** の呼び出しはディスクにすべてのバッファーの内容を書き込みます。これらの関数は COMMODE.OBJ の影響を受けるのみです。
終了 Microsoft 固有の仕様→