Sdílet prostřednictvím


fseek _fseeki64

Přesune ukazatel souboru do zadaného umístění.

int fseek( 
   FILE *stream,
   long offset,
   int origin 
);
int _fseeki64( 
   FILE *stream,
   __int64 offset,
   int origin 
);

Parametry

  • stream
    Ukazatel na FILE struktury.

  • offset
    Počet bajtů od origin.

  • origin
    Počáteční pozice.

Vrácená hodnota

Pokud je úspěšná, fseek a _fseeki64 vrátí hodnotu 0.Jinak vrátí nenulovou hodnotu.Neschopen usilující o zařízení vrácená hodnota je undefined.Pokud stream je nulový ukazatel nebo origin není jedním z povolených hodnot popsaných níže, fseek a _fseeki64 vyvolat popisovač neplatný parametr, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, nastavit tyto funkce errno na EINVAL a vrátí -1.

Poznámky

fseek a _fseeki64 funkce přesune ukazatel souboru (pokud existuje) spojené s stream do nového umístění, která je offset bajtů z origin*.* Další operace v datovém proudu je provedeno na nové umístění.V proudu, otevřené pro aktualizace může být další operace čtení nebo zápisu.Argument původu musí být jeden z následujících konstant, definované v STDIO.H:

  • SEEK_CUR
    Aktuální pozice ukazatele souboru.

  • SEEK_END
    Konec souboru.

  • SEEK_SET
    Začátek souboru.

Můžete použít fseek a _fseeki64 přemístění ukazatele myši kdekoli v souboru.Ukazatel můžete také umístit za koncem souboru.fseeka _fseeki64vymaže indikátorem konce souboru a Neguje efekt všechny před ungetc volá proti stream.

Při otevření pro přidání dat aktuální pozice v souboru je dána poslední operace I/O není kde by se vyskytnout další zápis.Pokud žádná operace I/O ještě došlo na soubor otevřen pro připojení, je umístění souboru začátku souboru.

Pro datové proudy otevřít v textovém režimu fseek a _fseeki64omezenou použití, protože může způsobit překlady return–linefeed přepravu fseek a _fseeki64neočekávané výsledky.Pouze fseek a _fseeki64jsou operace zaručené pracovat na datových proudů otevřených v textovém režimu:

  • Hledání s posunem 0 vzhledem k původu hodnoty.

  • Hledání od začátku souboru hodnotu offsetu vrácený voláním ftell při použití fseeknebo _ftelli64při použití_fseeki64.

Také v textovém režimu, CTRL + Z interpretována jako znak konce souboru na vstupu.Otevřen pro čtení nebo zápis souborů fopen a všechny související rutiny kontrolu CTRL + Z na konci souboru a pokud možno jej odebrat.Je důvodem, že pomocí kombinace fseek a ftellnebo_fseeki64 a _ftelli64, přesunout do souboru, který může způsobit končí CTRL + Z fseek nebo _fseeki64 chování nesprávně poblíž konce souboru.

CRT otevře soubor, který začíná s značka pořadí bajtů (Kusovník), po Kusovníku je umístěn ukazatel souboru (je na začátku souboru skutečného obsahu).Pokud jste fseek na začátku souboru pomocí ftell získat počáteční pozice a fseek je spíše než polohu 0.

Tato funkce uzamčení jiných podprocesů během spuštění a proto podprocesu.Verze zamykání, viz _fseek_nolock _fseeki64_nolock.

Požadavky

Function

Požadované záhlaví

fseek

<stdio.h>

_fseeki64

<stdio.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

// crt_fseek.c
// This program opens the file FSEEK.OUT and
// moves the pointer to the file's beginning.
 
#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[81];
   int  result;

   if ( fopen_s( &stream, "fseek.out", "w+" ) != 0 )
   {
      printf( "The file fseek.out was not opened\n" );
      return -1;
   }
   fprintf( stream, "The fseek begins here: "
                    "This is the file 'fseek.out'.\n" );
   result = fseek( stream, 23L, SEEK_SET);
   if( result )
      perror( "Fseek failed" );
   else
   {
      printf( "File pointer is set to middle of first line.\n" );
      fgets( line, 80, stream );
      printf( "%s", line );
    }
   fclose( stream );
}
  
  

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Proud I/O

fopen _wfopen

ftell _ftelli64

_lseek _lseeki64

rewind