Funzione libreria C - ungetc ()
Descrizione
La funzione di libreria C. int ungetc(int char, FILE *stream) spinge il personaggio char (an unsigned char) sul specificato stream in modo che questo sia disponibile per la successiva operazione di lettura.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione ungetc ().
int ungetc(int char, FILE *stream)
Parametri
char- Questo è il personaggio da rimettere a posto. Questo è passato come la sua promozione int.
stream - Questo è il puntatore a un oggetto FILE che identifica un flusso di input.
Valore di ritorno
In caso di successo, restituisce il carattere che è stato respinto altrimenti, viene restituito EOF e il flusso rimane invariato.
Esempio
L'esempio seguente mostra l'utilizzo della funzione ungetc ().
#include <stdio.h>
int main () {
FILE *fp;
int c;
char buffer [256];
fp = fopen("file.txt", "r");
if( fp == NULL ) {
perror("Error in opening file");
return(-1);
}
while(!feof(fp)) {
c = getc (fp);
/* replace ! with + */
if( c == '!' ) {
ungetc ('+', fp);
} else {
ungetc(c, fp);
}
fgets(buffer, 255, fp);
fputs(buffer, stdout);
}
return(0);
}
Supponiamo di avere un file di testo file.txt, che contiene i seguenti dati. Questo file verrà utilizzato come input per il nostro programma di esempio -
this is tutorials point
!c standard library
!library functions and macros
Ora, compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:
this is tutorials point
+c standard library
+library functions and macros