_FCopy( ) (Rutina de biblioteca API)
Intenta copiar len bytes desde la posición de desplazamiento spos del archivo de origen sc a la posición de desplazamiento dpos del archivo de destino dc.
int _FCopy(FCHAN dc, long dpos, FCHAN sc, long spos, long len)
FCHAN dc; /* File channel of destination file. */
long dpos; /* Offset position to start copying to. */
FCHAN sc; /* File channel of source file. */
long spos; /* Offset position to start copying from. */
long len; /* Number of bytes to copy. */
Observaciones
_FCopy( ) devuelve verdadero (un entero distinto de 0) si tiene éxito o devuelve falso (0) si falla.
Para obtener más información acerca de cómo crear una biblioteca API e integrarla con Visual FoxPro, vea Acceso a la API de Visual FoxPro.
Ejemplo
El siguiente ejemplo crea dos archivos. Escribe el texto "Hello, world" en el primero de estos archivos y, a continuación, copia el contenido del archivo, a partir del tercer byte, en el segundo archivo.
Código Visual FoxPro
SET LIBRARY TO FCOPY
Código C
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
FCHAN fchan1, fchan2;
int len;
fchan1 = _FCreate("temp1.txt", FC_NORMAL);
_FPuts(fchan1, "Hello, world.");
_FFlush(fchan1);
len = _FSeek(fchan1, 0, FS_FROMEOF); // determine length of file
fchan2 = _FCreate("temp2.txt", FC_NORMAL);
_FCopy(fchan2, 0, fchan1, 2, len - 2);
_FClose(fchan1);
_FClose(fchan2);
}
FoxInfo myFoxInfo[] = {
{"FCOPY", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Vea también
_FPuts( ) (Rutina de biblioteca API) | _FWrite( ) (Rutina de biblioteca API) | _FCreate( ) (Rutina de biblioteca API) | Acceso a la API de Visual FoxPro