Freigeben über


_FFlush( ), API-Bibliotheksroutine

Überträgt alle modifizierten Puffer, die zur angegebenen Datei gehören, aus dem Arbeitsspeicher auf den Datenträger.

int _FFlush(FCHAN chan)
FCHAN chan;               /* File channel of file to flush. */

Hinweise

_FFlush( ) gibt 0 zurück, wenn die Pufferübertragung durchgeführt werden konnte. Andernfalls wird -1 zurückgegeben.

Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.

Beispiel

Im folgenden Beispiel wird eine Datei erstellt. Die Dateilänge wird auf 8196 Bytes festgelegt. Die Visual FoxPro-Befehlszeile DIR TEMP.TXT wird im Befehlsfenster ausgeführt. Dadurch wird angezeigt, dass die Größe der Datei auf dem Datenträger immer noch 0 beträgt. Nach dem Ausführen von = XFFLUSH( ) zeigt das Aufrufen der Befehlszeile DIR TEMP.TXT jedoch an, dass die Datei auf dem Datenträger den Aufruf von _FCHSize( ) wiedergibt und dass die Dateigröße 8196 Bytes beträgt.

Visual FoxPro-Code

SET LIBRARY TO FFLUSH  
DIR temp.txt  && size on disk is still 0
WAIT WINDOW "File Size = 0"
= XFFLUSH()
DIR temp.txt  && size on disk is 8196
WAIT WINDOW "File Size Does Not Equal 0"
CLOSE ALL

C-Code

#include <pro_ext.h>

static FCHAN fchan;

FAR CreateIt(ParamBlk FAR *parm)
{
   fchan = _FCreate("temp.txt", FC_NORMAL);
   _FCHSize(fchan, 8196);
}

FAR FFlushEx(ParamBlk FAR *parm)
{
   _FFlush(fchan);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", (FPFI) CreateIt, CALLONLOAD, ""},
   {"XFFLUSH", (FPFI) FFlushEx, 0, ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Siehe auch

_FPuts( ), API-Bibliotheksroutine | _FWrite( ), API-Bibliotheksroutine | _FError( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API