データを強制保存 FileFlush 関数

関数

ファイル関数

FileFlush 関数

 この関数は、ファイルに書き込まれたデータを強制的にディスクに保存するために使用されます。この関数を使用することで、データがディスクに保存される前にプログラムがクラッシュした場合でも、書き込まれたデータが失われることを防ぐことができます。

 データのファイルへの書き込みは少し時間がかかります。データをファイルに即座に保存するには、FileFlush関数を使用します。この関数を使用しない場合、FileClose関数を使用してファイルを閉じたときにのみ、ディスクにまだ保存されていないデータの一部が強制的に書き込まれます。

 この関数は、頻繁な呼び出しは、プログラムの動作速度に影響を与える可能性がありますので、書き込まれたデータが重要な値の場合のみ使用するようにしてください。

 FileFlush関数は、ファイルからの読み取りと書き込み操作の間に使用されます。

データ型と構成・戻り値

void FileFlush(①);

 戻り値は無し。

引数 [1]

 FileFlush関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
file_handleintFileOpen関数によって取得されるファイルハンドル

使用例

FileFlush関数による強制保存

 FileOpen関数を使用してファイルを開き、FileWrite関数を使用してデータを書き込みます。その後、FileFlush関数を使用してデータをディスクに保存し、FileReadString関数で読取後、FileClose関数を使用してファイルを閉じます。

 使用したファイルの場所については FileOpen関数のページで確認してください。

コード

// FileFlush関数によるファイルへの書き込み
#property strict
void OnInit() {

string filename = "test.csv";  // ファイル名
int handle;                    // ファイルハンドル
    
handle = FileOpen(filename, FILE_READ | FILE_WRITE | FILE_CSV );

FileWrite(handle, "test");

FileFlush(handle);             // ファイルに書き込まれたデータを強制的にディスクに保存する

FileSeek(handle, 0, SEEK_SET); // ファイルポインタの位置を先頭に移動
Print("書込内容:", FileReadString(handle));

FileClose(handle);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました