UNGETC(3) BSD Library Functions Manual UNGETC(3)NAME
ungetc -- un-get character from input stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h>
int
ungetc(int c, FILE *stream);
DESCRIPTION
The ungetc() function pushes the character c (converted to an unsigned char) back onto the input stream pointed to by stream. The pushed-
backed characters will be returned by subsequent reads on the stream (in reverse order). A successful intervening call, using the same
stream, to one of the file positioning functions (fseek(3), fsetpos(3), or rewind(3)) will discard the pushed back characters.
One character of push-back is guaranteed, but as long as there is sufficient memory, an effectively infinite amount of pushback is allowed.
If a character is successfully pushed-back, the end-of-file indicator for the stream is cleared.
RETURN VALUES
The ungetc() function returns the character pushed-back after the conversion, or EOF if the operation fails. If the value of the argument c
character equals EOF, the operation will fail and the stream will remain unchanged.
SEE ALSO fseek(3), getc(3), setvbuf(3)STANDARDS
The ungetc() function conforms to ANSI X3.159-1989 (``ANSI C89'') and IEEE Std 1003.1-2001 (``POSIX.1'').
HISTORY
An ungetc() function appeared in Version 7 AT&T UNIX.
BSD April 30, 2010 BSD
Check Out this Related Man Page
ungetc(3C) Standard C Library Functions ungetc(3C)NAME
ungetc - push byte back into input stream
SYNOPSIS
#include <stdio.h>
int ungetc(int c, FILE *stream);
DESCRIPTION
The ungetc() function pushes the byte specified by c (converted to an unsigned char) back onto the input stream pointed to by stream. The
pushed-back bytes will be returned by subsequent reads on that stream in the reverse order of their pushing. A successful intervening call
(with the stream pointed to by stream) to a file-positioning function ( fseek(3C), fsetpos(3C) or rewind(3C)) discards any pushed-back
bytes for the stream. The external storage corresponding to the stream is unchanged.
Four bytes of push-back are guaranteed. If ungetc() is called too many times on the same stream without an intervening read or file-posi-
tioning operation on that stream, the operation may fail.
If the value of c equals that of the macro EOF, the operation fails and the input stream is unchanged.
A successful call to ungetc() clears the end-of-file indicator for the stream. The value of the file-position indicator for the stream
after reading or discarding all pushed-back bytes will be the same as it was before the bytes were pushed back. The file-position indicator
is decremented by each successful call to ungetc(); if its value was 0 before a call, its value is indeterminate after the call.
RETURN VALUES
Upon successful completion, ungetc() returns the byte pushed back after conversion. Otherwise it returns EOF.
ERRORS
No errors are defined.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO read(2), Intro(3), __fsetlocking(3C), fseek(3C), fsetpos(3C), getc(3C), setbuf(3C), stdio(3C), attributes(5), standards(5)SunOS 5.11 10 Sep 2003 ungetc(3C)
Can anyone help me?????
My problem is that i want to read only one charcter from keyboard. Each time my program waits to press enter or ^d. I don't want that. As soon as i press a charcter it should proceed to next statement in program without pressing enter or ^d.
please help... (3 Replies)
Hi Friends,
When Iam running c program in redhat linux 7.3 version and PCQ Linux 8.0 version, its taking around 20 seconds. But when Iam running it in HP-UX Release 11i, its taking around 3 minutes. Can anyone throw light on this.
Thanks in advance,
Praveen. (11 Replies)
I'm trying to write a program that will open an existing file supplied by the command line argument and then replace words with "We" or "we" by "I" and "a" or "A" by "The". When I run the program it reads the file, changes the word but re writes it on a new line with only the replaced words not the... (1 Reply)
I am trying to work this little program, its not working..
int main()
{
FILE *fp;
char *args;
pid_t child, exited_pid;
int status = 0;
*args = "less";
fp = popen("ls", "r");
child =... (4 Replies)
what is the difference between
fopen and open
fread and read
fwrite and write
open and create
why this much of functions for the i/o when everything does the same...?
What is their major difference?
In which case, which is the best to use.
:confused:'ed Collins (2 Replies)
Good evening, I'm trying to do my own shell and I encountered some issues while creating it. Indeed when I try such a command I have
DAUPHINE> DAUPHINE> ls -l | grep terminal > fichier
DAUPHINE> cat fichier
My shell is named DAUPHINE
Whereas I should have:
Code:
... (0 Replies)
I am building a wrapper around fgets, and fighting crashes for no reason I can explain.
I have stripped it down as far as I can and it still crashes.
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char buf;
FILE *fp;
int type;
} wrap;
wrap... (12 Replies)
I have a huge text file, about 52 GB. In the file, there are patterns like these:
]
]
]
]One can see that there is text within patterns such as and ], and I am only interested in ]. There is text before and after all these patterns too, for example,
''Anarchism''' is a ] that advocates ]... (3 Replies)
I have an array in an external file, "array.txt", which contains:
char *testarray={"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};I want to be able to add an element to this array, and have that element display, whenever I call it, without having to recompile... (29 Replies)
Hi, all,
I'm writing a BBS telnet client, and am trying to implement a status bar into it, at the bottom of the screen.
I am using NCurses to accomplish this. So far, it appears to be working, that is, upon connecting to BBS, it
will display the status bar, and then quickly disappear.
... (5 Replies)
Hi,
I have an array, that works well. But, I want to have it display every other line. Like so, 1, 3, 5, 7, etc, etc.
Here is the relevant code:
I'm sorry for the pastebin link. For some reason, I can't get the code to format properly with the code tags.
code tags work fine... everyone... (4 Replies)