잠금 없이 표준 입력에서 문자를 읽습니다.
구문
int _getchar_nolock( void );
wint_t _getwchar_nolock( void );
반환 값
getchar, getwchar을 참조하세요.
설명
_getchar_nolock 및 _getwchar_nolock은 다른 스레드의 방해로부터 보호되지 않는다는 점을 제외하고 getchar 및 getwchar와 동일합니다. 이들은 다른 스레드를 잠그는 오버헤드를 유발하지 않으므로 속도가 더 빠를 수 있습니다. 단일 스레드 애플리케이션과 같은 스레드로부터 안전한 컨텍스트 또는 이미 스레드 격리를 처리한 호출 범위에서만 이러한 함수를 사용합니다.
일반 텍스트 루틴 매핑
| Tchar.h 루틴 | _UNICODE 및 _MBCS 정의되지 않음 |
정의된 _MBCS |
정의된 _UNICODE |
|---|---|---|---|
_gettchar_nolock |
_getchar_nolock |
_getchar_nolock |
_getwchar_nolock |
요구 사항
| 루틴에서 반환된 값 | 필수 헤더 |
|---|---|
_getchar_nolock |
<stdio.h> |
_getwchar_nolock |
<stdio.h> 또는 <wchar.h> |
UWP(유니버설 Windows 플랫폼) 앱에서는 콘솔이 지원되지 않습니다. 콘솔에 연결된 표준 스트림 핸들, stdin, stdout 및 stderr은 UWP 앱의 C 런타임 함수에서 사용되기 전에 리디렉션되어야 합니다. 호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// crt_getchar_nolock.c
// Use _getchar_nolock to read a line from stdin.
#include <stdio.h>
int main()
{
char buffer[81];
int i, ch;
for (i = 0; (i < 80) && ((ch = _getchar_nolock()) != EOF)
&& (ch != '\n'); i++)
{
buffer[i] = (char) ch;
}
// Terminate string with a null character
buffer[i] = '\0';
printf( "Input was: %s\n", buffer);
}
This textInput was: This text
참고 항목
스트림 I/O
getc: getwc
fgetc: fgetwc
_getch: _getwch
putc: putwc
ungetc: ungetwc