gets, fgets - ストリームからの文字列の入力

【書式】

#include <stdio.h>

char *gets(char *s);

char *fgets(char *s, int n, FILE *fp);

【解説】

gets() は標準入力(stdin)から1行を入力し、sで示されるバッファにしまい

ます。ただし、文字列sの最後には改行文字'\n'はセットされず、 捨てられ

ます。

fgets() は標準入力の代わりにファイルポインタfpで指定されるファイルか

ら入力し、改行文字もふくめて高々n- 1文字しか読み込みません。この関数

は、改行文字を捨てないでsの最後にセットします。

どちらの関数も文字列sの最後にはナル文字('\0')をセットします。

【リターン値】

成功するとパラメタsをそのまま返します。 ファイルの終わりに到達した場

合には値 NULL を返します。また、エラーの場合にもNULLを返しますので、

EOFかエラーかの判定にはfeof(3), ferror(3)を使用してください。

【可搬性】

ANSI, UNIX, DOS窓

【参照】

puts(3), feof(3), ferror(3)

【バグ】

gets(s)とfgets(s, 32767, stdin)は同じ動作をしないので注意してくださ

い。

【copyright (c) 安江正樹@東海大学理学部物理学科】