C-Bibliotheksfunktionen -fgetpos()

C-Standardbibliothek - <stdio.h>

Beschreibung

C-Bibliotheksfunktionenint fgetpos(FILE *stream, fpos_t *pos)Holt die aktuelle Dateiposition vonstreamund schreibt sie nachpos。

Deklaration

Nachfolgend finden Sie die Deklaration der Funktion fgetpos().

int fgetpos(FILE *stream, fpos_t *pos)

Parameter

  • stream-- Dies ist ein Zeiger auf ein FILE-Objekt, das den Stream identifiziert.
  • pos-- Dies ist ein Zeiger auf ein fpos_t-Objekt.

Rückgabewert

Bei Erfolg gibt diese Funktion null zurück. Tritt ein Fehler auf, wird ein Wert ungleich null zurückgegeben.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion fgetpos().

#include <stdio.h>

int main ()
{
   FILE *fp;
   fpos_t position;

   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Hello, World!", fp);
  
   fsetpos(fp, &position);
   fputs("这将覆盖之前的内容", fp);
   fclose(fp);
   
   return(0);
}

Lassen Sie uns das obige Programm kompilieren und ausführen, das eine Dateifile.txterstellt, deren Inhalt wie folgt ist. Zuerst verwenden wirfgetpos()Die Funktion ermittelt die Anfangsposition der Datei, dann schreiben wir in die DateiHello, World!, dann verwenden wirfsetpos()Die Funktion wird verwendet, um den Schreibzeiger an den Anfang der Datei zurückzusetzen und die Datei mit dem folgenden Inhalt neu zu schreiben:

This will overwrite the previous content.

Nun verwenden wir das folgende Programm, um den Inhalt der obigen Datei anzuzeigen:

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
   int n = 0;

   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
          break ;
      }
      printf("%c", c);
   }

   fclose(fp);

   return(0);
}

C-Standardbibliothek - <stdio.h>

Weitere Erweiterungen