把一個(或多個)字元退回到stream代表的檔案流中,可以理解成一個“計數器”。
基本介紹
- 中文名:ungetc
- 功能:把一個(或多個)字元退回
- 定義:int ungetc(int ,FILE *);
用 法,形參:,返回值:,程式例,
用 法
int ungetc(int c, FILE *stream);
形參:
c: 要寫入的字元;
stream:檔案流指針,必須是輸入流不能是輸出流
返回值:
字元c - 操作成功,EOF - 操作失敗(int)
程式例
#include <stdio.h>
#include <ctype.h>
int 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 = '
'
值的一提的是,此程式應該注意換行符的作用。