Share via


_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