トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
ファイルから文字列を1行受け取る。 |
|
ヘッダ |
||
形式 |
char* fgets(char* restrict s, int n, FILE* restrict stream); |
|
引数 |
s |
入力文字列を受け取る配列を指すポインタ。 |
n |
引数s が指す配列の要素数。 |
|
stream |
入力ストリーム。 |
|
戻り値 |
成功時は 引数s を返す。読み取りエラーの発生時や、配列に1文字も読み取らなかった場合は、ヌルポインタが返される。 |
|
詳細 |
改行文字を読み取ったとき、あるいは、ファイルの終わりに達したときに読み込みを終える。ただし、引数n - 1文字分までしか読み取らない。改行文字を読み取った場合は、それも配列に書き込まれる。いずれにしても、配列に格納された最後の文字の後ろに、ヌル文字(‘\0’) が付加される。 引数stream にstdinを指定することで、標準入力から受け取ることも可能である。 |
|
注意 |
同じような用途の gets関数とは異なり、改行文字も受け取る(なお、gets関数は使うべきではない)。 読み取りエラーが発生した場合、引数s が指す配列の要素の状態は不定であるから参照してはならない。 |
|
使用例 |
入力ファイル(test.txt)
実行結果:
|
|
関連 |
ワイド文字バージョンの fgetws関数がある。 |
|
解説章 |
()
の前後の空白の空け方)(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)’2018/4/22 解説中で C95 を(C89 に対して)特別扱いしないように修正。そもそもC言語編は C95ベースなので、余計な説明は省く。
’2018/4/20 「NULL」という表記を「ヌルポインタ」に修正。
’2018/4/7 「詳細」「注意」「使用例」を大幅に修正。
’2018/1/22 新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
Twitter でツイート/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |