Flush application stream buffers to system, or system buffers to file

declare function FileFlush ( byval filenum as long = -1, byval systembuffers as long = 0 ) as long

#include ""
result = FileFlush()
result = FileFlush( filenum )
result = FileFlush( filenum, systembuffers )

File number of bound file or device. If not given, or -1, then flush all open files.
If non-zero, flush system buffers to physical device. Default is zero (0).

Return Value:
Returns zero (0) for success or an error code if file buffers could not be flushed.

FileFlush writes application buffered output to the underlying stream, and if systembuffers is non-zero, to the underlying physical device as well.

In the form FileFlush(filenum), the application output buffer for a specific file are written. And in the form FileFlush, all application buffers are written to the system. Typically, when a file is opened, the stream will be block buffered for binary and random files, and line buffered for append and output files. The FileFlush function overrides the normal buffering of the application and immediately writes buffered output to the system. The system may have it's own buffers as well.

In the form FileFlush(filenum,1), both the application buffer is flushed and the underlying system buffer is flushed to physical device. In the form FileFlush(,1), all application buffers are flushed and all underlying system buffers are flushed to physical device.

#include ""

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

Line Input #f2, s
Print FileLen("fileflushtest.txt"), "'" & s & "'"  '' the string is now physically written to the file

Close #f2
Close #f1

Output (Windows):
File length   File string
 0            ''
 23           'successful file flush'

Differences from QB:
See also:
Back to Operating System Functions
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode