/* * fscanf — форматированный ввод из потока; ядро — _scanf_core поверх * fgetc/ungetc (putback гарантирован полем hold). */ #include #include "_file.h" #include "../stdio/_scanf.h" static int fs_get(void *ctx) { return fgetc((FILE *)ctx); } static void fs_unget(void *ctx, int c) { ungetc(c, (FILE *)ctx); } int fscanf(FILE *fp, const char *fmt, ...) { va_list ap; va_start(ap, fmt); int r = _scanf_core(fs_get, fs_unget, fp, fmt, ap); va_end(ap); return r; }