次の方法で共有


fgets、fgetws

ストリームから文字列を取得します。

char *fgets( 
   char *str,
   int n,
   FILE *stream 
);
wchar_t *fgetws( 
   wchar_t *str,
   int n,
   FILE *stream 
);

パラメーター

  • str
    データの格納場所。

  • n
    読み込む最大文字数。

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

戻り値

これらの各関数は、str を返します。 NULL で エラーや、ファイルの終端を示すために戻ります。 エラーが発生したかどうかを判断するために feof または ferror を使用します。 str または stream が null ポインターの場合、または n がゼロ以下の場合、この関数は パラメーターの検証"に説明されているように、無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、errno が EINVAL に設定され、関数から NULL が返されます。

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

fgets 関数は入力 stream 引数やストアから文字列を str内で読み込みます。 fgets は 現在のストリーム内の位置の文字を読み取り、ストリームの末尾に、または読み込まれた文字数までの最初の改行文字が含まれていると、最初にあるスレッドがいずれか、n – 1 と同じです。 str に格納される結果は null 文字が付けられます。 改行文字または文字列に、読み取られたとなります。

fgetws 関数は、fgets 関数のワイド文字バージョンです。

fgetws は マルチバイト文字またはワイド文字列として stream がテキスト モードまたはバイナリ モードで開くかによってワイド文字の引数 str をそれぞれ読み取ります。 Unicode およびマルチバイトのストリーム入出力におけるテキスト モードおよびバイナリ モードの使い方の詳細については、「テキスト モードとバイナリ モードのファイル入出力」および「テキスト モードとバイナリ モードの Unicode ストリーム入出力」を参照してください。

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

TCHAR.H のルーチン

_UNICODE & _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_fgetts

fgets

fgets

fgetws

必要条件

関数

必須ヘッダー

fgets

<stdio.h>

fgetws

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

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

使用例

// crt_fgets.c
// This program uses fgets to display
// a line from a file on the screen.
//

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\n" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

入力: crt_fgets.txt

Line one.
Line two.

出力

Line one.

同等の .NET Framework 関数

参照

関連項目

ストリーム入出力

fputs、fputws

gets、_getws

puts、_putws