Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Функции-члены объекта cout






 

Аналогично тому, как мы обращались к методам объекта cin: get() и getline(), с объектом cout можно использовать функции put() и write().

Функция put() выводит один символ на стандартное устройство вывода. Так как эта функция возвращает ссылку на ostream, а cout является объектом ostream, есть возможность последовательного обращения к функции put() для вывода ряда значений, как и при вводе данных. Реализация этой возможности показана в листинге 16.10.

Листинг 16.10. Использование функции put()

1: // Листинг 16.10. Использование put()

2: #include < iostream.h>

3:

4: int main()

5: {

6: cout.put('H').put('e').put('l').put('l').put('o').put('\n');

7: return 0;

8: }

 

Результат:

Hello

 

Примечание: При запуске этой программы некоторые компиляторы не выведут заданное слово Hello. Если эта проблема коснется и вас, просто пропустите этот листинг и идите дальше.

 

Анализ: Строку 6 можно представить следующим образом: функция cout.put('H') выводит букву H на экран и возвращает объект cout. Оставшуюся часть выражения можно представить следующим образом:

cout.put('e').put('l').put('l').put('o').put('\n');

Выводится буква e, после чего остается cout.put('l'). Таким образом, повторяется цикл, на каждом этапе которого выводится следующая бука и возвращается объект cout. После вывода последнего символа ('\n') выполнение функции завершается.

Функция write() работает так же, как и оператор ввода (< <), но она принимает параметр, указывающий максимальное количество выводимых символов. Использование этой функции показано в листинге 16.11.

Листинг 16.11. Использование функции write()

1: // Листинг 16.11. Использование write()

2: #include < iostream.h>

3: #include < string.h>

4:

5: int main()

6: {

7: char One[] = " One if by land";

8:

9:

10:

11: int fullLength = strlen(One)

12: int tooShort = fullLength -4;

13: int tooLong = fullLength +6;

14:

15: cout.write(One, fullLength) < < " \n";

16: cout.write(One, tooShort) < < " \n";

17: cout.write(One, tooLong) < < " \n";

18: return 0;

19: }

 

Результат:

One if by land

One if by

One if by land i?!

 

Примечание: На вашем компьютере последняя строка вывода может выглядеть иначе.

 

Анализ: В строке 7 создается массив символов для заданной строки текста. Длина введенного текста присваивается в строке 11 целочисленной переменной fullLength. Установленное значение переменной tooShort меньше этой длины на четыре единицы, а значение переменной tooLong больше на шесть.

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

Строкой 16 вновь выводится строка, однако длина ее на четыре символа меньше, что и отражается в выводе.

Еще один вывод данных выполняется в строке 17, однако в этом случае функция write() выводит на шесть символов больше. После заданной строки на экране появятся символы, расположенные в ячейках памяти, следующих за ячейками массива символов.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.