ungetc

2puT發表於2016-07-15


把一個(或多個)字元退回到輸入流中,可以理解成一個“計數器”。
中文名
ungetc
功    能
把一個(或多個)字元退回
用 法
int ungetc(int c, FILE 
對    應
stream 檔案流指標

用 法

編輯
int ungetc(int c, FILE *stream);

輸入引數

c 要寫入的字元,stream 檔案流指標

輸出引數

字元c - 操作成功,EOF - 操作失敗(int)

程式例

編輯
#include <stdio.h>
#include <ctype.h>
void main( void )
{
int ch;
int result = 0;
printf( "Enter an integer: " );
/* Read in and convert number: */
while( ((ch = getchar()) != EOF) && isdigit( ch ) )
result = result * 10 + ch - '0'; /* Use digit. */
if( ch != EOF )
ungetc( ch, stdin ); /* Put nondigit back. */
printf( "Number = %d\nNextcharacter in stream = '%c'",
result, getchar() );
}
Output
Enter an integer: 521a
Number = 521Nextcharacter in stream = 'a'
Output
Enter an integer: 521
Number = 521Nextcharacter in stream = '
'
值的一提的是,此程式應該注意換行符的作用。