Older Newer
Thu, 02 Mar 2006 10:42:47 . . . . Martijn W. van der Lee [Correction]


Changes by last author:

Added:
= fflush =

== Syntax ==

:int fflush(int filepointer)

== Arguments ==

:filepointer

::A pointer to a file/stream previously opened with fopen.

== Return ==

:Returns 0 if the file is flushed successfully, and EOF if it encounters any problems.

== Description ==

:Writes all remaining data in the writing buffer of the specified filepointer to the associated file.

:The main use of this function is security; ensuring the data is stored in the file in order to protect against crashes. Use this function if your file format allows processing of the partial file.

== Example ==

<code>

int IMG_FILE;

if (IMG_FILE = fopen("d:\\FM_image0.fmi", "wb")) {

// Write out the src pixels as raw data

for (z = 0; z < Z; ++z) {

for (y = 0; y < Y; ++y) {

for (x = 0; x < X; ++x) {

fputc(src(x, y, z), IMG_FILE);

}

}

fflush(IMG_FILE); // ensure complete channel is stored before next channel is written.

}

}

else

ErrorOk("Cannot write image file\nDrive is either full or write-protected!");

if (fclose(IMG_FILE))

ErrorOk("Cannot close image file!");

</code>

== Also see ==

:flushall

== Comments ==

:Everyone can add his comments about his experiences with this function here. Tips for using it are welcome, too.