The ungetc()
function allows for the pushes characters a character onto an input stream. These This pushed character will can then be read by subsequent calls to functions that read from that stream. However, the ungetc()
function has serious limitations. A call to a file positioning function, such as fseek()
, will discard any character pushed on by ungetc()
. Also, the C standard only guarantees that the pushing back of one character will succeed. Therefore, subsequent calls to ungetc()
must be separated by a call to a read function or a file positioning function (which will discard any data pushed by ungetc()
). If more than one character needs to be pushed by ungetc()
, then an update stream should be used.
...
Code Block | ||
---|---|---|
| ||
(none known) |
Risk Assessment
The limitations of If used improperly, ungetc()
can cause data to be truncated or lost.
...