The function ungetc () in C

The function int ungetc (int char, FILE * stream) in the C Library standard pushes the char character (an unsigned char) onto the Stream given to the next character to be read.

Declare the ungetc () function in C

Below is the declaration for the ungetc () function in C:

 int ungetc ( int char , FILE * stream ) 

Parameters

char - This is a character to be pushed back.

stream - This is the pointer to a FILE object that identifies the Input Stream.

Returns the value

If successful, it returns the character that was pushed back. Otherwise, the function returns EOF and Stream remains unchanged.

For example

The following program C illustrates the usage of the ungetc () function in C:

 #include int main () { FILE * fp ; int c ; char buffer [ 256 ]; fp = fopen ( "baitapc.txt" , "r" ); if ( fp == NULL ) { perror ( "Xuat hien loi trong khi mo baitapc.txt" ); return (- 1 ); } while (! feof ( fp )) { c = getc ( fp ); /* thay the ky tu ! boi ky tu + */ if ( c == '!' ) { ungetc ( '+' , fp ); } else { ungetc ( c , fp ); } fgets ( buffer , 255 , fp ); fputs ( buffer , stdout ); } return ( 0 ); } 

Suppose we have the bait.txt file that contains the following data. This file will be used as input.

Compile and run the above C program to see the results.

According to Tutorialspoint

Previous lesson: Ham puts () in C

Next lesson: Function of perror () in C

ncG1vNJzZmismaXArq3KnmWcp51kwamxjJ%2Bsp5uknryvedSnnp6sk2K2r3nC