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 操作で読めるように、 cunsigned 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/ に書かれている。

関連キーワード

文字, stream, int, FGETC, fgetc, getc, fgets, ungetc, 入力, stdio

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

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

This document was created by man2html, using the manual pages.
Time: 12:08:38 GMT, June 11, 2022