Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Форматированный ввод-вывод

Для форматированного вывода в поток предназначена функция

fprintf(FILE* stream, const char* formatted_string, arguments, …)

Для подстановки значений переменных в строку вывода используют символы подстановки (спецификаторы формата), начинающиеся с символа «%»:

%[флаги][размер][.точность][модификатор_длины]тип_данного[2]

Флаги:

«-» – выравнивание результата по левому краю (по умолчанию – по правому относительно заданного количества выводимых символов);

«+» – результат всегда начинается со знака (+/-);

«#» – особая форма отображения результата.

Размер показывает, сколько символов отводится для записи результата, может быть представлен в следующих форматах:

n – минимум n символов отводится для записи числа, недостающие символы заменяются пробелами;

0n – то же, но недостающие символы заменяются нулями;

* – список аргументов содержит размеры данных.

Точность показывает для вещественных чисел количество знаков после десятичной точки.

Модификатор длины может принимать одно из значений:

F – «длинный» указатель;

N – «короткий» указатель;

h – short int;

l – long int, double;

L – long double.

Тип данного может принимать одно из значений:

%d, %i – знаковое десятичное целое;

%u – беззнаковое десятичное целое;

%o – беззнаковое восьмеричное целое;

%x, %X – беззнаковое шестнадцатеричное целое;

%f – знаковое вещественное;

%e, %E – знаковое вещественное в экспоненциальной форме;

%g, %G – знаковое вещественное, форма зависит от числа, размера и точности;

%c – символ;

%s – строка;

%% – символ «%»;

%n, %p – указатель.

Аргументы, передаваемые в функцию, должны соответствовать количеству и типу спецификаторам формата.

Для форматированного ввода данных из потока используется функция

fscanf(FILE* stream, const char* formatted_string, arguments, …)

Строка также может содержать спецификаторы формата, при этом:

– при невозможности предобразования строки в число, число принимает значение ноль;

– строкой считается слово до разделителя (пробел, табуляция, перевод строки).

Для стандартных потоков определены аналогичные функции:

printf(const char* formatted_string, arguments, …)

scanf(const char* formatted_string, arguments, …)

являющиеся аналогами описанных ранее функций, разница заключается в том, что используются стандартные потоки ввода и вывода (stdin, stdout) которые в качестве аргументов не указываются.

Определены функции, использующие вместо потока строку:

sprintf(char *dest, const char* formatted_string, arguments, …)

sscanf(char *src, const char* formatted_string, arguments, …)

Консольные функции.

void clreol() – удаление символов от курсора до конца строки.

void clrscr() – очистка экрана.

int cprintf(char *format [,..,]) – вывод строки с учётом параметров консоли.

void gotoxy(int x, int y) – перемещение курсора в позицию (x,y) экрана.

void textbackground(int c) – цвет фона.

void textcolor(int c) – цвет шрифта.

void textmode(int m) – режим (C40, C80, C4350).

<== предыдущая лекция | следующая лекция ==>
Работа с файлами | Введение в объектно-ориентированное программирование
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 291; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.