_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock
다시 콘솔에서 읽은 마지막 문자를 푸시합니다.
중요 |
---|
이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
int _ungetch(
int c
);
wint_t _ungetwch(
wint_t c
);
int _ungetch_nolock(
int c
);
wint_t _ungetwch_nolock(
wint_t c
);
매개 변수
- c
푸시 문자입니다.
반환 값
두 함수는 문자를 반환 합니다. c 성공 하면.If there is an error, _ungetch returns a value of EOF and _ungetwchreturnsWEOF.
설명
이러한 함수는 문자 push c 을 콘솔에 다시 일으키는 c 읽을 다음 문자를 사용할 수 _getch 또는 _getche (또는 _getwch 또는_getwche)._ungetch및 _ungetwch 다음 읽기 전에 한 번 이상 호출 하면 오류가 발생 합니다.The c argument may not be EOF (or WEOF).
버전으로는 _nolock 접미사는 다른 스레드에 의해 방해를 보호 되지 않은 경우를 제외 하 고 동일 합니다.다른 스레드 잠금 오버 헤드를 초래 하지 않으므로 더 빠를 수 있습니다.스레드로부터 안전한 컨텍스트 단일 스레드 응용 프로그램 또는 격리 스레드 호출 범위 이미 처리 하는 위치에 이러한 함수를 사용 합니다.
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_ungettch |
_ungetch |
_ungetch |
_ungetwch |
_ungettch_nolock |
_ungetch_nolock |
_ungetch_nolock |
_ungetwch_nolock |
요구 사항
루틴 |
필수 헤더 |
---|---|
_ungetch, _ungetch_nolock |
<conio.h> |
_ungetwch, _ungetwch_nolock |
<conio.h> 또는 <wchar.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
// crt_ungetch.c
// compile with: /c
// In this program, a white-space delimited
// token is read from the keyboard. When the program
// encounters a delimiter, it uses _ungetch to replace
// the character in the keyboard buffer.
//
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
int main( void )
{
char buffer[100];
int count = 0;
int ch;
ch = _getche();
while( isspace( ch ) ) // Skip preceding white space.
ch = _getche();
while( count < 99 ) // Gather token.
{
if( isspace( ch ) ) // End of token.
break;
buffer[count++] = (char)ch;
ch = _getche();
}
_ungetch( ch ); // Put back delimiter.
buffer[count] = '\0'; // Null terminate the token.
printf( "\ntoken = %s\n", buffer );
}