Freigeben über


fgetpos

Ruft Stellungsanzeiger eines Streams ab.

int fgetpos( 
   FILE *stream,
   fpos_t *pos 
);

Parameter

  • stream
    Zielstream.

  • pos
    Position-Indikator Speicher.

Rückgabewert

Bei Erfolg gibt fgetpos 0 zurück.Bei Fehler gibt es einen Wert ungleich 0 (null) zurück und legt errno eine der folgenden Manifesten Konstanten fest (definiert in STDIO.H): EBADF, der mit dem angegebenen Stream, ist kein gültiger Dateizeiger oder ist nicht möglich oder EINVAL, das heißt der stream-Wert oder der Wert von pos ungültig ist, beispielsweise wenn entweder ein NULL-Zeiger ist.Wenn stream oder pos ein NULL Zeiger ist, ruft die Funktion den ungültigen Parameter für ein, wie in Parametervalidierungbeschrieben.

Hinweise

Die fgetpos-Funktion ruft den Wert des aktuellen Stellungsanzeigers stream des Arguments ab und speichert sie im Objekt, das durch posdargestellt wird.Die fsetpos-Funktion kann die Informationen zu einem späteren Zeitpunkt verwenden, die in pos gespeichert werden, dass der Zeiger des Arguments stream zu dessen Position zurückzusetzen, wenn fgetpos aufgerufen wurde.Der pos-Wert wird in ein internes Format gespeichert und nur für die Verwendung durch fgetpos und fsetposbestimmt.

Anforderungen

Funktion

Erforderlicher Header

fgetpos

<stdio.h>

Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.

Beispiel

// crt_fgetpos.c
// This program uses fgetpos and fsetpos to
// return to a location in a file.

#include <stdio.h>

int main( void )
{
   FILE   *stream;
   fpos_t pos;
   char   buffer[20];

   if( fopen_s( &stream, "crt_fgetpos.txt", "rb" ) ) {
      perror( "Trouble opening file" );
      return -1;
   }

   // Read some data and then save the position. 
   fread( buffer, sizeof( char ), 8, stream );
   if( fgetpos( stream, &pos ) != 0 ) {
      perror( "fgetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fgetpos: %.13s\n", buffer );

   // Restore to old position and read data 
   if( fsetpos( stream, &pos ) != 0 ) {
      perror( "fsetpos error" );
      return -1;
   }

   fread( buffer, sizeof( char ), 13, stream );
   printf( "after fsetpos: %.13s\n", buffer );
   fclose( stream );
}

Eingabe: crt_fgetpos.txt

fgetpos gets a stream's file-position indicator.

70hdhh4t.collapse_all(de-de,VS.110).gifAusgabe crt_fgetpos.txt

after fgetpos: gets a stream
after fsetpos: gets a stream

.NET Framework-Entsprechung

System::EA::FileStream::Position

Siehe auch

Referenz

Stream E/A

fsetpos