FSEEK() 
 Sitúa un puntero de fichero binario en una nueva posición
------------------------------------------------------------------------------
 Sintaxis

     FSEEK(<nManejador>, <nDesplazamiento>, [<nOrigen>]) --> nPosición

 Argumentos

     <nManejador> es el manejador de fichero obtenido de FOPEN(),
     FCREATE() o predefinido por el DOS.

     <nDesplazamiento> es el número de bytes que se va a desplazar el
     puntero del fichero desde la posición definida por <nOrigen>. Puede ser
     un número positivo o negativo. Un número positivo desplaza el puntero
     hacia adelante y uno negativo lo desplaza hacia atrás en el fichero.

     <nOrigen> define la situación inicial del puntero del fichero antes
     de que se ejecute FSEEK(). El valor por defecto es cero, representando
     el inicio del fichero. Si <nOrigen> es el final del fichero,
     <nDesplazamiento> debe ser cero o negativo.

     Métodos para Desplazar el Puntero del Fichero
     ------------------------------------------------------------------------
     Origen        Fileio.ch      Descripción
     ------------------------------------------------------------------------
     0             FS_SET         Busca desde el principio del fichero
     1             FS_RELATIVE    Busca desde la posición actual del puntero
     2             FS_END         Busca desde el final del fichero
     ------------------------------------------------------------------------

 Devuelve

     FSEEK() devuelve la nueva posición del puntero del fichero relativa al
     inicio del fichero (posición 0) como un valor numérico entero. Este
     valor es independiente de la posición original del puntero del
     fichero.

 Descripción

     FSEEK() es una función de fichero de bajo nivel que desplaza el puntero
     del fichero hacia adelante o hacia atrás en un fichero binario abierto
     sin leer realmente el contenido del fichero especificado. La posición
     inicial y el desplazamiento se especifican como argumentos de función y
     se devuelve la nueva posición en el fichero.

     Independientemente de los argumentos de función especificados, el
     puntero del fichero no puede desplazarse de forma que exceda los
     límites del inicio o final del fichero.

     ¡Advertencia! Esta función permite el acceso de bajo nivel a
     ficheros y dispositivos del DOS. Debe utilizarse con gran precaución y
     requiere un conocimiento profundo del sistema operativo.

 Ejemplos

      En este ejemplo se utiliza FSEEK() para determinar la longitud
        de un fichero buscando desde el final del mismo. Seguidamente, el
        puntero se restablece al inicio del fichero:

        #include "Fileio.ch"
        //
        // Abrir el fichero en modo de sólo lectura
        IF (nManejador := FOPEN("Temp.txt")) >= 0
           //
           // Obtener la longitud del fichero
           nLongitud := FSEEK(nManejador, 0, FS_END)
           //
           // Restablecer la posición al comienzo del
           // fichero
           FSEEK(nManejador, 0)
           FCLOSE(nManejador)
        ELSE
           ? "Error de apertura de fichero:", FERROR()
        ENDIF

      Esta pseudofunción sitúa el puntero del fichero en el último
        byte de un fichero binario:

        #define FinalFichero(nManejador);
              (FSEEK(nManejador, 0, FS_END))

      Esta pseudofunción sitúa el puntero del fichero en el primer
        byte de un fichero binario:

        #define InicioFichero(nManejador);
              (FSEEK(nManejador, 0))

      Esta pseudofunción informa de la posición actual del puntero
        del fichero en un fichero binario especificado:

        #define PosFichero(nManejador);
              (FSEEK(nManejador, 0, FS_RELATIVE))

 Ficheros   La biblioteca asociada es CLIPPER.LIB,
            el fichero de cabecera asociado es Fileio.ch.

 To download this example - click here.

See Also: FCLOSE() FCREATE() FERROR() FOPEN() FREAD()