FileFlush

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

Syntax
	KeyPgDeclareDeclare KeyPgFunctionFunction FileFlush ( KeyPgByvalByVal filenum KeyPgAsAs KeyPgLongLong = -1, KeyPgByvalByVal 
	systembuffers KeyPgAsAs KeyPgLongLong = 0 ) KeyPgAsAs KeyPgLong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.

Example
	#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
	   
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
	* KeyPgCloseClose

