C-Bibliotheksfunktionen -fsetpos()

C-Standardbibliothek - <stdio.h>

Beschreibung

C-Bibliotheksfunktionenint fsetpos(FILE *stream, const fpos_t *pos)Setzt den angegebenen StreamstreamDie Dateiposition ist die angegebene Position. Parameterposist die von der Funktion fgetpos angegebene Position.

Deklaration

Nachfolgend ist die Deklaration der Funktion fsetpos() aufgeführt.

int fsetpos(FILE *stream, const 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, das eine zuvor mit fgetpos ermittelte Position enthält.

Rückgabewert

Bei Erfolg gibt die Funktion null zurück; andernfalls gibt sie einen Wert ungleich null zurück und setzt die globale Variableerrnoauf einen positiven Wert, der über perror interpretiert werden kann.

Beispiel

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

Beispiel

#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("This will overwrite the previous content", fp);
   fclose(fp);
   
   return(0);
}

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

This will overwrite the previous content.

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

Beispiel

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;

   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