_getchar_nolock、_getwchar_nolock
標準入力から文字を読み取ります。
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> |
コンソールは Windows ストア の apps ではサポートされていません。コンソール、stdin、stdout、および stderrに関連付けられている標準ストリームのハンドルは C のランタイム関数が Windows ストア の apps で使用する前にをリダイレクトする必要があります。互換性の詳細については、「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);
}