EOF
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

_lseek, _lseeki64

Déplace le pointeur de fichier à l'emplacement spécifié.

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

Descripteur de fichier référence à un fichier ouvert.

offset

Nombre d'octets d'origine.

origine

Position d'origine.

_lseek retourne l'offset, en octets, de la nouvelle position du début du fichier. _lseeki64 retourne l'offset dans un entier 64 bits. La fonction retourne - 1L pour indiquer une erreur. si passé un paramètre non valide, tel qu'un mauvais descripteur de fichier, ou la valeur pour l' origine est valide ou la position spécifiée par l' offset est avant le début du fichier, le gestionnaire de paramètre non valide est appelée, comme décrit dans Validation des paramètres. Si est autorisé à l'exécution de se poursuivre, ces errno défini par fonctions à EBADF et au retour -1L. Sur les appareils incapables de rechercher (tels que les éléments terminaux et les imprimantes), la valeur de retour est pas définie.

Pour plus d'informations sur ces éléments et d'autres codes d'erreur, consultez _doserrno, errno, _sys_errlist, et _sys_nerr.

La fonction d' _lseek déplace le pointeur de fichier associé à fd vers un nouvel emplacement qui contient des octets excentrésde l'origine. L'opération suivante sur le fichier apparaît au nouvel emplacement. l'argument d' origine doit être l'une des constantes suivantes, qui sont définies dans Stdio.h.

SEEK_SET

début du fichier.

SEEK_CUR

Position actuelle du pointeur de fichier.

SEEK_END

de fin de fichier.

Vous pouvez utiliser _lseek pour repositionner le pointeur n'importe où dans un fichier ou au delà de la fin de le fichier.

routine

en-tête requis

_lseek

<io.h>

_lseeki64

<io.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

bibliothèques

toutes les versions de Bibliothèques runtime C.

// 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
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.