_fgetchar、_fgetwchar
更新 : 2007 年 11 月
stdin から文字を読み出します。
int _fgetchar( void );
wint_t _fgetwchar( void );
戻り値
_fgetchar は、読み出した文字を int 型として返します。エラーまたはファイルの終端の場合は、EOF を返します。**_**fgetwchar は、読み出した文字に対応するワイド文字を wint_t 型として返します。エラーまたはファイルの終端の場合は、WEOF を返します。この 2 つの関数でエラーとファイルの終端を区別するには、feof または ferror を使用します。
解説
これらの関数は、stdin から 1 文字を読み出します。次に、関連付けられているファイル ポインタがあれば、ポインタをインクリメントし、次の文字を指します。ストリームがファイルの終端に達すると、ストリームの EOF(EOF: end-of-file) インジケータが設定されます。
_fgetchar 関数は、fgetc( stdin ) と同じです。これは getchar とも同じですが、関数とマクロではなく、関数としてのみ実装されます。_fgetwchar は、_fgetchar のワイド文字バージョンです。
これらの関数は、ANSI 標準互換ではありません。
汎用テキスト ルーチンのマップ
Tchar.h のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
必要条件
関数 |
必須ヘッダー |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> または <wchar.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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.