C-Bibliotheksfunktionen -ungetc()

C-Standardbibliothek - <stdio.h>

Beschreibung

C-Bibliotheksfunktionenint ungetc(int char, FILE *stream)Zeichen ablegenchar(ein unsigned char) wird in den angegebenen Streamstream geschobensodass es das nächste zu lesende Zeichen ist.

Deklaration

Nachfolgend sehen Sie die Deklaration der Funktion ungetc().

int ungetc(int char, FILE *stream)

Parameter

  • char-- Dies ist das zu schiebende Zeichen. Dieses Zeichen wird als entsprechender int-Wert übergeben.
  • stream-- Dies ist ein Zeiger auf ein FILE-Objekt, das den Eingabestream identifiziert.

Rückgabewert

Bei Erfolg gibt sie das geschobene Zeichen zurück; andernfalls gibt sie EOF zurück, und der Stream bleibt unverändert.

Beispiel

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

Beispiel

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
   char buffer [256];

   fp = fopen("file.txt", "r");
   if( fp == NULL )
   {
      perror("Fehler beim Öffnen der Datei");
      return(-1);
   }
   while(!feof(fp))
   {
      c = getc (fp);
      /* Ersetze ! durch + */
      if( c == '!' )
      {
         ungetc ('+', fp);
      }
      else
      {
         ungetc(c, fp);
      }
      fgets(buffer, 255, fp);
      fputs(buffer, stdout);
   }
   return(0);
}

Angenommen, wir haben eine Textdateifile.txt, deren Inhalt wie folgt lautet. Die Datei wird im Beispiel als Eingabe verwendet:

this is example
!c standard library
!library functions and macros

Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:

this is example
+c standard library
+library functions and macros

C-Standardbibliothek - <stdio.h>

Weitere Erweiterungen