FGETC

Section: Linux Programmer's Manual (3)
Updated: 2020-12-21
Index JM Home Page
 

名前

fgetc, fgets, getc, getchar, ungetc - 文字と文字列の入力  

書式

#include <stdio.h>

int fgetc(FILE *stream);

char *fgets(char *s, int size, FILE *stream);

int getc(FILE *stream);

int getchar(void);

int ungetc(int c, FILE *stream);
 

説明

fgetc() は、 stream から次の文字を unsigned char として読み、 int にキャストして返す。ファイルの終わりやエラーとなった場合は EOF を返す。

getc() は fgetc() と同様だが、 stream を複数回評価するマクロとして実装されているかもしれない。

getchar() は getc(stdin) と同じである。

fgets() は stream から最大で size - 1 個の文字を読み込み、 s が指すバッファーに格納する。読み込みは EOF または改行文字を読み込んだ後で停止する。 読み込まれた改行文字はバッファーに格納される。 終端のヌルバイト ('\0') が一つバッファーの中の最後の文字の後に書き込まれる。

ungetc() は、後の read 操作で読めるように、 c を unsigned char にキャストして stream に書き戻す。 書き戻された文字は逆順に戻される; 書き戻しとして保証されているのは、一文字だけである。

ここで述べた関数や stdio ライブラリの入力関数を同じ入力ストリームに対して互いに混ぜて使うことができる。

これらの処理を停止せずに行いたいときは、 unlocked_stdio(3) を参照のこと。  

返り値

fgetc(), getc(), getchar() は、文字を unsigned char として読んで int にキャストして返す。ファイルの終わりやエラーの場合は EOF を返す。

fgets() は、成功すると s を返し、エラーや 1 文字も読み込んでいないのにファイルの終わりになった 場合に NULL を返す。

ungetc() は成功すると c を返し、エラーの場合は EOF を返す。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
fgetc(), fgets(), getc(),
getchar(), ungetc()
Thread safety MT-Safe

 

準拠

POSIX.1-2001, POSIX.1-2008, C89, C99.

入力ストリームのファイルディスクリプターに対して、 stdio ライブラリの入力関数と、低レベル呼び出しの read(2) を混ぜて呼び出す事は勧められない。 結果がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。  

関連項目

read(2), write(2), ferror(3), fgetwc(3), fgetws(3), fopen(3), fread(3), fseek(3), getline(3), gets(3), getwchar(3), puts(3), scanf(3), ungetwc(3), unlocked_stdio(3), feature_test_macros(7)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

stdio   キャスト   バッファー   fgetc   fgets   getc   getchar   ungetc   格納   改行   停止   ライブラリ   ストリーム   成功   複数回   評価   マクロ   実装   最大   読み込み   終端   ヌルバイト   最後   read   操作

Linux マニュアル 一覧

関連するコマンド・関数

fgetc.3   getc.3   getchar.3   ungetc.3   fputc.3   fputs.3
 

Index

名前
書式
説明
返り値
属性
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:29 GMT, October 11, 2026