$
ロックせずに標準入力から文字を読み取ります。
構文
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 プラットフォーム (UWP) アプリではコンソールがサポートされていません。 コンソール (stdin
、stdout
、stderr
) に関連付けられている標準ストリームのハンドルは、C ランタイム関数によって UWP アプリで使用される前に、リダイレクトする必要があります。 互換性の詳細については、「 Compatibility」を参照してください。
例
// 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
関連項目
ストリーム入出力
$
$
$
$
$