C-standard-library-c-function-fgets

提供:Dev Guides
移動先:案内検索

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

説明

Cライブラリ関数 char fgets(char str、int n、FILE stream)は、指定されたストリームから行を読み取り、 *str が指す文字列に格納します。 *(n-1)*文字が読み取られたとき、改行文字が読み取られたとき、またはファイルの終わりに達したときのいずれか早い方で停止します。

宣言

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

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

パラメーター

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

戻り値

成功すると、関数は同じstrパラメーターを返します。 ファイルの終わりが検出され、文字が読み取られていない場合、strの内容は変更されず、nullポインターが返されます。

エラーが発生すると、nullポインターが返されます。

次の例は、fgets()関数の使用法を示しています。

#include <stdio.h>

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

  /*opening file for reading*/
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("Error opening file");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
     /*writing content to stdout*/
      puts(str);
   }
   fclose(fp);

   return(0);
}

次の内容のテキストファイル file.txt があるとします。 このファイルは、サンプルプログラムの入力として使用されます-

We are in 2012

今、私たちは次の結果を生成する上記のプログラムをコンパイルして実行しましょう-

We are in 2012