Реферат: Средства ввода-вывода в Си++

char * gets (char * s); /* Функция ввода */

int puts (char * s); /* Функция вывода */

Обе функции имеют только один аргумент - указатель s на массив символов. Бели строка прочитана удачно, функция gets( ) возвращает адрес того массива s, в который производился ввод строки. Если произошла ошибка, то возвращается NULL.

Функция puts() в случае успешного завершения возвращает последний выведенный символ, который всегда является символом ‘\n’. Если произошла ошибка, то возвращается EOF.


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

Для работы со стандартными потоками в режиме форматного ввода-вывода определены две функции:

printf( ) - форматный вывод;

scanf( ) - форматный ввод.

Прототип функции printf() имеет вид:

int printf(const char *format,...);

При обращении к функции printf() возможны две формы задания первого параметра:

int printf ( *форматная строка, список_аргументов);

int printf (указателъ_на_форматную_строку,. список_аргументов);

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

Возвращаемое значение функции printf() - число напечатанных символов; а в случае ошибки - отрицательное число.

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

В список аргументов функции printf() включают выражения, значения которых должны быть выведены из программы. Частные случаи этих выражений - переменные и константы. Количество аргументов и их типы должны соответствовать последовательности спецификаций преобразования в форматной строке. Для каждого аргумента должна быть указана точно одна спецификация преобразования.

Если аргументов недостаточно для данной форматной строки, то результат зависит от реализации (от операционной системы и от системы программирования). Если аргументов больше, чем указано в форматной строке, "лишние" аргументы игнорируются. Гарантируется, что при любом количестве параметров и любом их типе после выполнения функций printf() дальнейшее выполнение программы будет корректным.

Спецификация преобразования имеет следующую форму:

% флаги ширина_поля. точностъ спецификатор

Символ % является признаком спецификации преобразования. В спецификации преобразования обязательными являются только два элемента: признак % и спецификатор.

Спецификатор Тип аргумента Формат вывода

d int, char,unsigned Десятичное целое со знаком

u int, char,unsigned Десятичное целое без знака

o int, char,unsigned Восьмеричное целое без знака

x int, char,unsigned Шестнадцатеричное целое без знака; при выводе используются символы “0..9a..f”

X int, char,unsigned Шестнадцатеричное целое без знака; при выводе используются символы "0...9A...F”

f double, float Вещественное значение со знаком в виде:

Знак_числа dddd.dddd

где dddd - одна или более десятичных цифр. Количество цифр перед десятичной точкой зависит от величины выводимого числа, а количество цифр после десятичной точки зависит от требуемой точности. Знак числа при отсутствии модификатора '+' изображается только для отрицательного числа.


Форматный ввод из входного потока.

Форматный ввод из входного потока осуществляется функцией scanf(). Прототип функции scanf( ) имеет вид:

К-во Просмотров: 245
Бесплатно скачать Реферат: Средства ввода-вывода в Си++