🔧 入出力 ・ stdio.h ・ C89
ungetc の使い方int ungetc(int c, FILE *stream);
読み取った1文字をストリームへ押し戻し、次の読み取りで再び取得できるようにする。字句解析で「1文字先読みしてから判断する」処理でよく使われるテクニック。 押し戻した文字は次の読み取り関数(fgetc等)で必ず最初に返される仕組みになっている。
#include <stdio.h>
int main(void) {
int c = getchar();
if (c == '-') {
puts("negative sign found");
} else {
ungetc(c, stdin);
}
return 0;
}
⚠️ 押し戻せる文字数は最低1文字しか規格で保証されていない。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
ungetc と一緒に使う関数fclose
feof
ferror
fflush
fgetc
fgets
fopen
fprintf
fputc
fputs
fread
fscanf
fseek
ftell
fwrite
getchar
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。