ungetc()
QNX SDP8.0C Library ReferenceAPIDeveloper
Push a character back onto an input stream
Synopsis:
#include <stdio.h>
int ungetc( int c,
FILE *fp );
Arguments:
- c
- The character that you want to push back.
- fp
- The stream you want to push the character back on.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The ungetc() function pushes the character specified by c back onto the input stream pointed to by fp. This character will be returned the next time that you read from the stream. The pushed-back character is discarded if you call fflush() or a file-positioning function (fseek(), fsetpos(), or rewind()) before performing the next read operation.
Only one character (the most recent one) of pushback is guaranteed.
The ungetc() function clears the end-of-file indicator, unless the value of c is EOF.
Returns:
The character pushed back.
Examples:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main( void )
{
FILE *fp;
int c;
long value;
fp = fopen( "file", "r" );
value = 0;
c = fgetc( fp );
while( isdigit(c) ) {
value = value*10 + c - '0';
c = fgetc( fp );
}
ungetc( c, fp ); /* put last character back */
printf( "Value=%ld\n", value );
fclose( fp );
return EXIT_SUCCESS;
}
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Signal handler | No |
Thread | Yes |
Page updated: