この関数の目的
fgets()は、ストリームから一行を取り込む。
定義>
#include <stdio.h> char *fgets(char *s, int n, FILE *stream);
働き>
この関数は stream が指すストリームから n - 1 個以下の文字を s に取り込む。
改行文字や EOF
(ファイルの終わり)より後の文字は読まれない。読み込んだ文字の最後にはヌル文字を加える。
成功すれば s を返す。ファイルの終わりにつき当たって一文字も読み込まなかったら、 s の内容は変更されず、ヌルポインタが返される。 読み込みエラーが発生した場合、文字列の内容は不定になり、ヌルポインタが返される。
解説>
gets() と違って、文字列の最後には改行文字が残る。
ただし、 EOF
が出現したり、 n 文字読んでも改行文字が出現しなかった場合は最後が改行文字にならない。