Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание программ на С++.doc
Скачиваний:
15
Добавлен:
29.09.2019
Размер:
1.59 Mб
Скачать

Другие специальные символы

В дополнение к символу новой строки, позволяющему вашим программам продвигать курсор в начало новой строки, вы можете использовать специальные символы, перечисленные в табл. 3.1.

Таблица 3.1. Специальные символы для использования с cout.

Символ

Назначение

Сигнальный (или звонок) символ

Символ возврата

V

Символ перевода страницы

\n

Символ новой строки

Возврат каретки (не перевод строки)

\t

Символ горизонтальной табуляции

\v

Символ вертикальной табуляции

\\

Символ обратный слеш

\?

Знак вопроса

\'

Одинарные кавычки

\"

Двойные кавычки

\0

Нулевой символ

\000

Восьмеричное значение, например \007

\xhhhh

Шестнадцатеричное значение, например \xFFFF

Замечание: При использовании специальных символов, перечисленных в табл. 3.1, вам следует располагать их внутри одинарных кавычек, если вы используете данные символы сами по себе, например '\n', или внутри двойных кавычек, если вы используете их внутри строки, например "Привem\nMup!".

Следующая программа SPECIAL.CPP использует специальные символы сигнала (\а) и табуляции (\t) для выдачи звука на встроенный динамик компьютера и затем выводит слова Звонок Звонок Звонок, разделенные табуляцией:

#include <iostream.h>

void main(void)

{     cout << "3вонок\a\tЗвонок\a\tЗвонок\a";  }

Вывод восьмеричных и шестнадцатеричных значений

Программы, представленные в этом уроке до сих пор, выводили числа в десятичном виде. В зависимости от назначения ваших программ вам, возможно, потребуется выводить числа в восьмеричном или шестнадцатеричном виде. Для этого можно разместить модификаторы dec,oct и hex внутри выходного потока. Следующая программа ОСТНЕХ.СРР использует эти модификаторы для вывода значений в десятичном, восьмеричном и шестнадцатеричном виде:

#include <iostream.h>

void main(void)

{     cout << "Восьмеричный: " << oct << 10 << ' ' << 20 << endl;     cout << "Шестнадцатеричный: " << hex << 10 << ' ' << 20 << endl;     cout << "Десятичный: " << dec << 10 << ' ' << 20 << endl;  }

Когда вы откомпилируете и запустите эту программу, на экране появится следующий результат:

С:\> OCTEX <ENTER>

Восьмеричный: 12 24

Шестнадцатеричный: а 14

Десятичный: 10 20

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

Вывод на стандартное устройство ошибок

Как вы уже знаете, используя cout, вы можете перенаправить вывод программы на устройство или файл с помощью операторов переназначения вывода операционной системы. Однако, если ваши программы сталкиваются с ошибкой, вы, вероятно, не захотите, чтобы сообщение об ошибке было перенаправлено с экрана. Перенаправление сообщений об ошибках в файл может скрыть от пользователя факт появления ошибки.

Если вашей программе нужно вывести сообщение об ошибке, вы должны использовать выходной поток cerr. C++ связывает cerr со стандартным устройством ошибок операционной системы. Следующая программа CERR.CPP использует выходной поток cerr для вывода на экран сообщения "Это сообщение появляется всегда ":

#include <iostream.h>

void main(void)

{      cerr << "Это сообщение появляется всегда";  }

Откомпилируйте и запустите эту программу. Далее попытайтесь перенаправить вывод программы в файл, используя оператор переназначения вывода:

С:\> CERR > FILENAME.EXT <ENTER>

Так как операционная система не позволит вашим программам перенаправить вывод, записываемый на стандартное устройство ошибок, сообщение появится на вашем экране.