Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Cpp_C7.docx
Скачиваний:
6
Добавлен:
07.09.2019
Размер:
44.97 Кб
Скачать

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

4.1 Изменение системы счисления при выводе

Используются манипуляторы dec, hex, oct, смысл которых ясен из их имен. Например, при вызове hex(cout) (или cout << hex) устанавливается (вплоть до следующего изменения) шестнадцатеричная система счисления для форматирования в объекте cout.

4.2 Установка ширины полей вывода

Метод width. Имеет два прототипа.

int width();

int width(int i);

Первая форма возвращает текущую ширину поля вывода. Вторая – устанавливает значение ширины, равное i. Влияет только на следующий отображаемый объект. После чего ширина возвращается к исходному значению.

4.3 Установка точности для вывода чисел с плавающей точкой

Метод precision. Устанавливает количество значащих цифр при выводе вещественного числа. Например, выполнение cout.precision(2) устанавливает две значащие цифры. Установки действуют до их явного изменения.

5. Ввод данных (cin)

Оператор извлечения из потока >> обычно перегружается так, что возвращает указатель на объект, для которого он был вызван. Поэтому возможны следующие цепочки ввода:

char s[10];

double x;

int i;

cin >> s >> x >> i;

Смена системы счисления для ввода целочисленных данных осуществляется с помощью манипуляторов dec, hex, oct. Например, выражение

cin >> hex;

приведёт к тому, что целочисленный ввод будет трактоваться как шестнадцатеричный.

Объект cin работает с потоком ввода следующим образом. Символы-разделители (пробелы, символы новой строки, табуляции) пропускаются до тех пор, пока не будет обнаружен первый печатный символ. Далее, при односимвольном режиме это символ извлекается из потока и помещается по месту назначения. В иных случаях извлекаются все символы до символа, несоответствующего типу назначения. Например, если при чтения целого числа в программе

int i;

cin >> i;

будут введены символы

-123R,

то символ «R» считан не будет и останется в потоке ввода. Следующий оператор извлечения >> начнет чтение с этого места. Если вводимые данные не соответствуют типу данных назначения, например, в указанном примере сразу вводится символ «R», то оператор извлечения оставит переменную i неизменной, но при этом вернет значение false, по которому можно распознать неудачный ввод.

6. Состояние потока

Объекты cin и cout содержат три флага (бита), характеризующие состояние потока.

….

7. Методы cin.Get(ch), cin.Get(), cin.Getline()

8. Ввод-вывод файлов

Литература.

Стивен Прата. "Язык программирования Си++. Лекции и упражнения. Учебник: Пер. С англ." - ООО ДиаСофтЮП, 2004. Главы 15, 17.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]