![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Форматированный ввод-вывод
Для форматированного вывода в поток предназначена функция 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).
|