Función de biblioteca C - ungetc ()
Descripción
La función de la biblioteca C int ungetc(int char, FILE *stream) empuja al personaje char (an unsigned char) en el especificado stream para que esto esté disponible para la siguiente operación de lectura.
Declaración
A continuación se muestra la declaración de la función ungetc ().
int ungetc(int char, FILE *stream)
Parámetros
char- Este es el personaje que se debe devolver. Esto se pasa como su promoción int.
stream - Este es el puntero a un objeto FILE que identifica un flujo de entrada.
Valor devuelto
Si tiene éxito, devuelve el carácter que se rechazó; de lo contrario, se devuelve EOF y la secuencia permanece sin cambios.
Ejemplo
El siguiente ejemplo muestra el uso de la función 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);
}
Supongamos que tenemos un archivo de texto file.txt, que contiene los siguientes datos. Este archivo se utilizará como entrada para nuestro programa de ejemplo:
this is tutorials point
!c standard library
!library functions and macros
Ahora, compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
this is tutorials point
+c standard library
+library functions and macros