Это условный пример длинного текста

Вывод текстовых строк

Текстовые (строковые) литералы в C++ представляются как последовательность символов, заключенная в двойные кавычки. Например:

"Это пример текстовой строки".

Вывод текстовых строк на экран осуществляется через стандартный поток вывода с помощью операции вывода <<:

cout << "Это пример текстовой строки";

Внутрь текстовых строк можно вставлять управляющие escape -последовательности. Escape-последовательности служат для управления выводом, и представляют собой специальные последовательности из двух или более символов, начинающиеся символом обратной наклонной черты - \. При этом каждая такая последовательность воспринимается компилятором как 1 символ. Примерами таких управляющих последовательностей в предыдущих программах являются \t - символ табуляции и \n - символ перевода строки (все эти последовательности приведены в разделе 3.5). С помощью Escape-последовательностей в текстовую строку можно включить любой символ с помощью его восьмеричного или шестнадцатеричного кода (в том числе и символы, которых нет на клавиатуре). Например:

cout << "Это символ с восьмеричным кодом 254:\t\254\n";

cout << "А это символ с шестнадцатеричным кодом xAA:\t\xAA\n";

На экран будут выведены две строки:

Это символ с восьмеричным кодом 254: ┐

А это символ с шестнадцатеричным кодом xAA: Є

Если на экран необходимо вывести пустую строку, достаточно вставить в поток дважды подряд управляющую последовательность \n:

cout << "Это первая строка\n";

cout << "\n"; // Вторая строка пустая

cout << "Это третья строка\n";

При выводе длинных текстовых строк их можно в тексте программы разбивать на части следующим образом:

cout << "Это " \

"условный " \

"пример " \

"длинного " \

"текста\n";

или так

cout << "Это " "условный " "пример "

"длинного " "текста\n";

На экран будет выведена одна строка, после чего экранный курсор перейдет на новую строку (управляющая последовательность \n):

Символ \ и символ пробела можно использовать для "сцепления" отдельных строк. Если в программе встречаются два или более строковых литерала, разделенные только пробелами, то они будут рассматриваться как одна символьная строка.

Ввод текстовых строк с клавиатуры будет рассмотрен позже.

Ввод/вывод арифметических типов данных

Пример простого ввода/вывода арифметических типов данных:

#include <iostream>

using namespace std;

int main ()

{

setlocale (0, "");

int i;

double d;

char c;

bool b;

cin >> i;

cout << i;

cin >> d;

cout << d;

cin >> c;

cout << c;

cin >> b;

cout << b;

system ("Pause");

return 0;

}

Особенности:

1. Ввод/вывод целочисленных значений осуществляется обычным образом в десятичной системе счисления.

2. Ввод вещественных типов данных можно осуществлять либо в формате с фиксированной точкой, либо в экспоненциальном формате.

3. Формат вывода вещественных значений выбирается автоматически в зависимости от выводимого значения.

4. Ввод символьных значений можно осуществлять только в виде одиночного символа. При вводе нескольких символов переменной c будет присвоен только первый символ. Могут возникнуть сложности с вводом русских букв.

5. Ввод/вывод логических значений осуществляется в числовом формате (0 - false, 1 - true).

Замечание:

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

int i;

cin >> i;

При попытке ввода с клавиатуры числа 1234 допущена ошибка - набрано 12y34 и нажата клавиша ENTER (ошибочно была нажата клавиша y). Переменная i в этом случае будет содержать значение 12, и эта ошибка может привести к непредсказуемому дальнейшему поведению программы. В любом случае символы из потока ввода извлекаются оператором >> до тех пор, пока они соответствуют числовому формату. Как только в потоке ввода встречается символ, не соответствующий числовому формату, уже извлеченные символы преобразуются в числовое значение и присваиваются переменной ввода. Остальные символы игнорируются.

Форматирование ввода / вывода

В приведенных ранее примерах были использованы простейшие способы управления вводом/выводом с помощью специальных управляющих символов (ESCAPE последовательностей) - '\n' и '\t'. Однако, очень часто этого бывает недостаточно, например, для аккуратного структурированного оформления данных на экране.

Более гибкое управление вводом/выводом (форматирование ввода/вывода) в C++ осуществляется либо с помощью установки флагов форматирования, либо с помощью специальных манипуляторов ввода/вывода.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: