¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
_lseek, _lseeki64
div
EOF
Collapse the table of content
Expand the table of content
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_lseek, _lseeki64

Mueve un puntero de archivo en la ubicación especificada.

long _lseek(
   int fd,
   long offset,
   int origin 
);
__int64 _lseeki64(
   int fd,
   __int64 offset,
   int origin 
);

fd

Descriptor de archivo que hace referencia a un archivo abierto.

desplazamiento

Número de bytes de origen.

origen

posición inicial.

_lseek devuelve la diferencia, en bytes, de la nueva posición desde el principio del archivo. _lseeki64 devuelve el desplazamiento en un entero de 64 bits. la función devuelve – 1L para indicar un error. Si se pasa un parámetro no válido, como un archivo dañado descriptor de archivo, o el valor del origen es no válidos o la posición especificada por el desplazamiento es anterior al principio del archivo, el controlador no válido de parámetro se invoca, como se describe en Validación de parámetros. Si la ejecución puede continuar, este errno establecido funciones a EBADF y retorno -1L. En los dispositivos incapaces de búsqueda (como terminales y impresoras), el valor devuelto es indefinido.

Para obtener más información sobre éstos y otros códigos de error, vea _doserrno, errno, _sys_errlist, y _sys_nerr.

La función de _lseek mueve el puntero de archivo asociado a fd a una nueva ubicación que está a bytes de desplazamientode origen. La operación siguiente en el archivo en la nueva ubicación. El argumento de origen debe ser una de las siguientes constantes, que se definen en Stdio.h.

SEEK_SET

Principio del archivo.

SEEK_CUR

Posición actual del puntero de archivo.

SEEK_END

Final de archivo.

Puede utilizar _lseek para colocar el puntero de nuevo en cualquier parte de un archivo o más allá del final del archivo.

rutina

Encabezado necesario

_lseek

<io.h>

_lseeki64

<io.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

bibliotecas

// crt_lseek.c
/* This program first opens a file named lseek.txt.
 * It then uses _lseek to find the beginning of the file,
 * to find the current position in the file, and to find
 * the end of the file.
 */

#include <io.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <share.h>

int main( void )
{
   int fh;
   long pos;               /* Position of file pointer */
   char buffer[10];

   _sopen_s( &fh, "crt_lseek.c_input", _O_RDONLY, _SH_DENYNO, 0 );

   /* Seek the beginning of the file: */
   pos = _lseek( fh, 0L, SEEK_SET );
   if( pos == -1L )
      perror( "_lseek to beginning failed" );
   else
      printf( "Position for beginning of file seek = %ld\n", pos );

   /* Move file pointer a little */
    _read( fh, buffer, 10 );

   /* Find current position: */
   pos = _lseek( fh, 0L, SEEK_CUR );
   if( pos == -1L )
      perror( "_lseek to current position failed" );
   else
      printf( "Position for current position seek = %ld\n", pos );

   /* Set the end of the file: */
   pos = _lseek( fh, 0L, SEEK_END );
   if( pos == -1L )
      perror( "_lseek to end failed" );
   else
      printf( "Position for end of file seek = %ld\n", pos );

   _close( fh );
}

Line one.
Line two.
Line three.
Line four.
Line five.

Position for beginning of file seek = 0
Position for current position seek = 10
Position for end of file seek = 57

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft