Skip to content

FILEFLUSH


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

Syntax

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

`

Usage

#include "file.bi"
result = FileFlush()
result = FileFlush( filenum )
result = FileFlush( filenum, systembuffers )

Parameters

filenum

File number of bound file or device. If not given, or -1, then flush all open files.

systembuffers

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.

Description

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.

Examples

start GeSHi

vb
#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

end GeSHi

Output (Windows):

File length   File string
 0            ''
 23           'successful file flush'

Version

  • Since fbc 1.08.0

Differences from QB

  • New to FreeBASIC.

See also

  • Close

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft