Cライブラリ関数 -fgets()

C 标准库 - <stdio.h>C標準ライブラリ - <stdio.h>

説明

Cライブラリ関数char *fgets(char *str, int n, FILE *stream)指定されたストリーム stream から一行を読み取り、それをstr指し示された文字列内に格納します。読み取り文字数が(n-1)(n-1) 文字に達したとき、または改行文字を読み取ったとき、またはファイルの末尾に達したときに停止します。状況によって異なります。

宣言

以下は fgets() 関数の宣言です。

char *fgets(char *str, int n, FILE *stream)

引数

  • str-- これは、読み取る文字列を格納する文字配列を指すポインタです。
  • n-- これは読み取る最大文字数(最後のヌル文字を含む)です。通常は str で渡される配列の長さを使用します。
  • stream-- これは FILE オブジェクトを指すポインタで、その FILE オブジェクトは文字を読み取るストリームを識別します。

戻り値

成功すると、この関数は同じ str 引数を返します。ファイルの末尾に達した場合、または文字を何も読み取らなかった場合、str の内容は変更されず、ヌルポインタを返します。

エラーが発生した場合は、ヌルポインタを返します。

例

以下の例は fgets() 関数の使い方を示しています。

例

#include <stdio.h>

int main()
{
   FILE *fp;
   char str[60];

   /* 読み取り用にファイルを開く */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("ファイルを開くときにエラーが発生しました");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* 標準出力 stdout に内容を書き込む */
      puts(str);
   }
   fclose(fp);
   
   return(0);
}

テキストファイルがあるとしますfile.txt、その内容は次のとおりです。このファイルは例の入力として使用されます:

We are in 2014

上記のプログラムをコンパイルして実行すると、次の結果が得られます:

We are in 2014

C 标准库 - <stdio.h>C標準ライブラリ - <stdio.h>

その他の拡張機能