Символ | Данные на вводе; тип аргумента |
---|---|
d | десятичное целое; int * |
i | целое: int *. Целое может быть восьмеричным (с нулем слева) или шестнадцатеричным (с 0x или 0X слева) |
o | восьмеричное целое (с нулем слева или без него); int * |
u | беззнаковое десятичное целое; unsigned int * |
x | шестнадцатеричное целое (с 0x или 0X слева или без них): int * |
c | символы, char *. Символы ввода размещаются в указанном массиве в количестве, заданном шириной поля; по умолчанию это количество равно 1. Символ'\0' не добавляется. Символы-разделители здесь рассматриваются как обычные символы и поступают в аргумент. Чтобы прочесть следующий символ-разделитель, используйте %1s |
s | строка символов, отличных от символов-разделителей (записывается без кавычек); char *, указывающий на массив размера достаточного, чтобы вместить строку и добавляемый к ней символ '\0' |
e, f, g | число с плавающей точкой; float *. Формат ввода для |
p | значение указателя в виде, в котором printf ("%р") его напечатает; void * |
n | записывает в аргумент число символов, прочитанных к этому моменту в этом вызове; int *. Никакого чтения ввода не происходит. Счетчик числа введенных элементов не увеличивается |
[...] | выбирает из ввода самую длинную непустую строку, состоящую из символов, заданных в квадратных скобках: char *. В конец строки добавляется '\0'. Спецификатор вида []...] включает ] в задаваемое множество символов |
[^...] | выбирает из ввода самую длинную непустую строку, состоящую из символов, не входящих в заданное в скобках множество. В конец добавляется '\0'. Спецификатор вида [^]...] включает ] в задаваемое множество символов |
% | обычный символ %; присваивание не делается |
B1.4. Функции ввода-вывода символов
int fgetc(FILE *stream);
fgetc возвращает следующий символ из потока
char *fgets(char *s, int n, FILE *stream);
fgets читает не более
int fputc(int с, FILE *stream);
fputc пишет символ
int fputs(const char *s, FILE *stream);
fputs пишет строку
int getc(FILE *stream);
getc делает то же, что и
int getchar(void);
getchar делает то же, что
char *gets(char *s);
gets читает следующую строку ввода в массив