getc、getwc、getchar、getwchar

Visual Studio .NET 2003

getc および getwc はストリームから文字を読み出し、getchar および getwcharstdin から文字を取得します。

int getc( 
   FILE *stream 
);
wint_t getwc( 
   FILE *stream 
);
int getchar( void );
wint_t getwchar( void );

パラメータ

stream
入力ストリーム。

戻り値

読み出した文字を返します。読み出しエラーが発生した場合、またはファイル終端に達した場合、getc および getcharEOF を返し、getwc および getwcharWEOF を返します。getc または getchar を使用する場合、エラーとファイル終端のどちらであるかを確認するには、ferror または feof を使用します。

解説

各ルーチンは、ファイルの現在位置から 1 文字読み出し、関連するファイル ポインタが定義されている場合は次の文字を指すためにポインタを増やします。getc および getwc では、ファイルは stream で指定されたストリームに関連付けられています。詳細については、「関数またはマクロの選択に関する推奨事項」を参照してください。各ルーチンの違いは次のとおりです。

ルーチン 解説
getc fgetc と同じ動作をしますが、関数およびマクロの両方として実装されています。
getwc getc と同じ動作をしますが、ワイド文字を扱うことができます。stream がテキスト モードとバイナリ モードのどちらで開かれているかによって、マルチバイト文字またはワイド文字を読み出します。
getchar _fgetchar と同義ですが、関数およびマクロの両方として実装されています。
getwchar getchar と同じ動作をしますが、ワイド文字を扱うことができます。stream がテキスト モードとバイナリ モードのどちらで開かれているかによって、マルチバイト文字またはワイド文字を読み出します。

ジェネリック テキスト ルーチンの割り当て

TCHAR.H のルーチン _UNICODE および _MBCS が未定義の場合 _MBCS が定義されている場合 _UNICODE が定義されている場合
_gettc getc getc getwc
_gettchar getchar getchar getwchar

必要条件

ルーチン 必須ヘッダー 互換性
getc <stdio.h> ANSI、Win 98、Win Me、Win NT、Win 2000、Win XP
getwc <stdio.h> または <wchar.h> ANSI、Win 98、Win Me、Win NT、Win 2000、Win XP
getchar <stdio.h> ANSI、Win 98、Win Me、Win NT、Win 2000、Win XP
getwchar <stdio.h> または <wchar.h> ANSI、Win 98、Win Me、Win NT、Win 2000、Win XP

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

// crt_getc.c
/* This program uses getchar to read a single line
 * of input from stdin, places this input in buffer, then
 * terminates the string before printing it to the screen.
 */

#include <stdio.h>

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

   /* Read in single line from "stdin": */
   for( i = 0; (i < 80) &&  ((ch = getchar()) != EOF) 
                        && (ch != '\n'); i++ )
      buffer[i] = (char)ch;

   /* Terminate string with null character: */
   buffer[i] = '\0';
   printf( "Input was: %s\n", buffer );
}

入力

This is a test

出力

Input was: This is a test

参照

ストリーム入出力 | fgetc | _getch | putc | ungetc、ungetwc | ランタイム ルーチンおよび同等の .NET Framework 関数

表示: