FreeBASIC FILEFLUSH
目次→実行時ライブラリー参考→オペレーティング・システム関連→FILEFLUSH←オリジナル・サイト
アプリケーション・ストリーム・バッファや、システム・バッファを、ファイルにフラッシュ(書き込む)します。
構文:
用法:
#include "file.bi"
result = FileFlush()
result = FileFlush( filenum )
result = FileFlush( filenum, systembuffers )
パラメータ:
filenum
拘束されたファイルまたはデバイスの、ファイル番号。
指定しないか、-1 の場合、開いているすべてのファイルをフラッシュします。
systembuffers
ゼロ以外の場合、システム・バッファを、物理デバイスにフラッシュします。
デフォルトはゼロ(0)です。
戻り値:
成功すると、ゼロ(0)を返し、ファイル・バッファをフラッシュできなかった場合は、エラーコードを返します。
内容:
FileFlush は、アプリケーション・バッファリングされた出力を、基になるストリームに書き込みます。
systembuffers がゼロ以外の場合は、基になる物理デバイスにも書き込みます。
FileFlush(filenum) の形式で、特定のファイルのアプリケーション出力バッファーが、書き込まれます。
また、FileFlush という形式で、すべてのアプリケーション・バッファが、システムに書き込まれます。
通常、ファイルを開くと、ストリームは、binary と random ファイル用にブロック・バッファリングされ、append と output ファイル用に、ライン・バッファリングされます。
FileFlush 関数は、アプリケーションの通常のバッファリングを上書きし、バッファリングされた出力を、すぐにシステムに書き込みます。
システムには、独自のバッファもあります。
FileFlush(filenum,1) の形式では、アプリケーション・バッファはフラッシュされ、基礎となるシステムバッファは物理デバイスにフラッシュされます。
FileFlush(,1) の形式では、すべてのアプリケーションバッファーがフラッシュされ、すべての基になるシステムバッファーが物理デバイスにフラッシュされます。
例:
#include "file.bi"
Dim As Long f1, f2
Dim As String s
Print "File length", "File string"
f1 = FreeFile
Open "fileflushtest.txt" For Output As #f1
Print #f1, "successful file flush"
f2 = FreeFile
Open "fileflushtest.txt" For Input As #f2
Line Input #f2, s
Print FileLen("fileflushtest.txt"), "'" & s & "'" '' the string is not yet physically written to the file
Fileflush(f1)
Line Input #f2, s
Print FileLen("fileflushtest.txt"), "'" & s & "'" '' the string is now physically written to the file
Close #f2
Close #f1
Sleep
出力 (Windows):
File length File string
0 ''
23 'successful file flush'
バージョン:
QBからの違い:
参照:
ページ歴史:2021-10-11 09:34:00
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall