次の方法で共有


_fgetchar, _fgetwchar

stdin から文字を読み取ります。

構文

int _fgetchar( void );
wint_t _fgetwchar( void );

戻り値

_fgetchar は、読み込まれた文字を int として返すか、エラーまたはファイルの末尾を示す EOF を返します。 _fgetwchar は、 wint_tとして、読み取られた文字に対応するワイド文字を返すか、エラーまたはファイルの末尾を示す WEOF を返します。 両方の関数に対して、エラーと、ファイルの末尾の条件を識別するため feof または ferror を使用します。

解説

これらの関数は stdin から 1 つの文字を読み取ります。 関数は、次の文字 (定義されている場合) を指すように、関連ファイルのポインターをインクリメントします。 ストリームがファイルの末尾にある場合、ストリームのファイルの末尾を示すインジケーターが設定されます。

_fgetcharfgetc( stdin ) と等価です。 また、 getcharと同等ですが、関数やマクロとしてではなく、関数としてのみ実装されます。 _fgetwchar 関数は、_fgetchar 関数のワイド文字バージョンです。

これらの関数は ANSI 標準と互換性がありません。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_fgettchar _fgetchar _fgetchar _fgetwchar

要件

機能 必須ヘッダー
_fgetchar <stdio.h>
_fgetwchar <stdio.h> または <wchar.h>

ユニバーサル Windows プラットフォーム (UWP) アプリではコンソールがサポートされていません。 UWP アプリで C ランタイム関数が、コンソールに関連付けられている標準ストリーム ハンドル (stdinstdoutstderr) を使用するには、それらのハンドルを事前にリダイレクトしておく必要があります。 互換性の詳細については、「 Compatibility」を参照してください。

// crt_fgetchar.c
// This program uses _fgetchar to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.
//

#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   char buffer[81];
   int  i, ch;

   // Read in first 80 characters and place them in "buffer":
   ch = _fgetchar();
   for( i=0; (i < 80 ) && ( feof( stdin ) == 0 ); i++ )
   {
      buffer[i] = (char)ch;
      ch = _fgetchar();
   }

   // Add null to end string
   buffer[i] = '\0';
   printf( "%s\n", buffer );
}

      Line one.
Line two.Line one.
Line two.

関連項目

ストリーム入出力
fputc, fputwc
getc, getwc