Информатика и технология программирования


Функции форматированного ввода-вывода



.
------------------------------- Форматированный вывод --¬
¦ int printf(char *format,...) ¦
¦ - стандартный вывод ¦
¦ int fprintf(FILE *fd, char *format,...) ¦
¦ - явно указанный файл ¦
¦ int sprintf(char *str, char *format,...) ¦
¦ ¦ - строка в памяти ¦
¦ L--- число выведенных байтов или EOF ¦
L--------------------------------------------------------
------------------------------- Форматированный ввод ---¬
¦ int scanf(char *format,...) ¦
¦ - стандартный ввод ¦
¦ int fscanf(FILE *fd, char *format,...) ¦
¦ - явно указанный файл ¦
¦ int sscanf(char *str, char *format,...) ¦
¦ ¦ - строка в памяти ¦
¦ L--- число фактических параметров, для которых ¦
¦ введены значения, или EOF ¦
L--------------------------------------------------------

Форматная строка определяет количество и типы фактических параметров из переменного списка. Последовательность символов, идущая за "%" (спецификация формата), определяет тип и формат ввода-вывода очередного фактического параметра. При этом в функциях форматированного вывода все символы форматной строки выводятся в выходной файл за исключением спецификаций формата, которые заменяются значениями соответствующих фактических параметров. В функциях форматированного вывода тип параметра должен совпадать с заданным в спецификации, в функциях форматного ввода - быть указателем на этот тип (то есть должен передаваться адрес переменной, а не ее значение).


.
-- форматная строка ---¬ -------¬ фактические
printf("....%***...%***...%***",p1,p2,p3); параметры
¦ ¦ L-&#62&#62-¦--¦--- переменного
¦ L---&#62&#62------¦--- списка
L-----&#62&#62------------


Спецификация формата ввода-вывода фактического параметра ([] обозначают необязательную часть) .


.
% [флаги][ширина][.точность][модификатор] тип ------------¬
¦ ¦ ¦ +- "F" far-указатель ¦
¦ ¦ ¦ +- "N" near-указатель ¦
¦ ¦ ¦ +- "h" параметр типа short ¦
¦ ¦ ¦ L- "l" параметр типа long ¦
¦ ¦ ¦ или double (для scanf)¦
¦ ¦ +- "0" без дробной части ¦



Начало  Назад  Вперед



Книжный магазин