#include <stdio.h>
char *fgets (char *string, int n, FILE *stream);
ANSI
はい
fgets() 関数は、現在の stream 位置から最初の改行文字 (¥n) まで (改行文字を含める)、またはストリームの終わりまで、あるいは読み込まれた文字数が n-1 と同じになるまでの、最も早いものまでの文字を読み取ります。fgets() 関数は結果を string に格納し、ストリングの終わりに NULL 文字 (¥0) を追加します。 改行文字が読み込まれている場合、string には改行文字が含まれます。n が 1 である場合、string は空です。
fgets() 関数は、正常に終了した場合、string バッファーを指すポインターを戻します。 NULL の戻り値はエラーか、またはファイル終了状態を示します。 NULL 値がエラーを示しているか、ファイルの終わりを示しているかを判別するには、feof() または ferror() 関数を使用します。いずれの場合も、ストリングの値は変わりません。
fgets() 関数は、type=record でオープンされたファイルではサポートされていません。
#include <stdio.h>
#define MAX_LEN 100
int main(void)
{
FILE *stream;
char line[MAX_LEN], *result;
stream = fopen("mylib/myfile","rb");
if ((result = fgets(line,MAX_LEN,stream)) != NULL)
printf("The string is %s¥n", result);
if (fclose(stream))
perror("fclose error");
}