Share via


fgetc、fgetwc

更新 : 2007 年 11 月

ストリームから文字を読み取ります。

int fgetc( 
   FILE *stream 
);
wint_t fgetwc( 
   FILE *stream 
);

パラメータ

  • stream
    FILE 構造体へのポインタ。

戻り値

fgetc は、読み取った文字を int 型で返し、エラーが発生した場合またはファイルの終端に達した場合は EOF を返します。fgetwc は、読み取った文字に対応するワイド文字を wint_t 型で返し、エラーまたはファイルの終端を示す場合は WEOF を返します。この 2 つの関数では、エラーとファイルの終端を区別するには、feof または ferror を使用します。読み取りエラーが発生した場合、ストリームのエラー インジケータが設定されます。stream が NULL の場合、fgetc および fgetwc は、「パラメータの検証」に説明するように、無効なパラメータ ハンドラを呼び出します。実行の継続が許可された場合、これらの関数は errno を EINVAL に設定し、EOF を返します。

解説

これらの各関数は、stream に関連付けられたファイルの現在位置にある 1 文字を読み取ります。次に、関連付けられているファイル ポインタがあれば、ポインタをインクリメントし、次の文字を指します。ストリームがファイルの終端に達すると、ストリームの EOF(EOF: end-of-file) インジケータが設定されます。

fgetc は getc と等価ですが、関数とマクロの両方としてではなく、関数としてのみ実装されています。

fgetwc は fgetc のワイド文字バージョンです。stream がテキスト モードとバイナリ モードのどちらで開かれているかに従って、c をマルチバイト文字またはワイド文字として読み取ります。

_nolock サフィックスが付けられたバージョンは、他のスレッドからの干渉から保護されない点を除いて同じです。

テキスト モードおよびバイナリ モードでのワイド文字およびマルチバイト文字の処理については、「テキスト モードとバイナリ モードの Unicode ストリーム入出力」を参照してください。

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

TCHAR.H のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_fgettc

fgetc

fgetc

fgetwc

必要条件

関数

必須ヘッダー

fgetc

<stdio.h>

fgetwc

<stdio.h> または <wchar.h>

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

使用例

// crt_fgetc.c
// This program uses getc 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 )
{
   FILE *stream;
   char buffer[81];
   int  i, ch;

   // Open file to read line from:
   fopen_s( &stream, "crt_fgetc.txt", "r" );
   if( stream == NULL )
      exit( 0 );

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

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

入力 : crt_fgetc.txt

Line one.
Line two.

出力

Line one.
Line two.

.NET Framework の相当するアイテム

参照

参照

ストリーム入出力

fputc、fputwc

getc、getwc