Função da biblioteca C - ungetc ()
Descrição
A função da biblioteca C int ungetc(int char, FILE *stream) empurra o personagem char (an unsigned char) no especificado stream para que esteja disponível para a próxima operação de leitura.
Declaração
A seguir está a declaração da função ungetc ().
int ungetc(int char, FILE *stream)
Parâmetros
char- Este é o personagem a ser colocado de volta. Isso é passado como sua promoção interna.
stream - Este é o ponteiro para um objeto FILE que identifica um fluxo de entrada.
Valor de retorno
Se for bem-sucedido, ele retorna o caractere que foi empurrado de volta, caso contrário, EOF é retornado e o fluxo permanece inalterado.
Exemplo
O exemplo a seguir mostra o uso da função 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);
}
Vamos supor que temos um arquivo de texto file.txt, que contém os seguintes dados. Este arquivo será usado como uma entrada para nosso programa de exemplo -
this is tutorials point
!c standard library
!library functions and macros
Agora, vamos compilar e executar o programa acima que produzirá o seguinte resultado -
this is tutorials point
+c standard library
+library functions and macros