Программирование. Принципы и практика использования C++ Исправленное издание, стр. 157
// расширим до 8 << 123456 << "|\n"; // размеры полей не инертныВ итоге получим следующий результат:
123456|123456| 123456|123456|
123456123456|1234||3456|ostreamПоля также можно использовать при выводе строк и чисел с плавающей точкой. Рассмотрим пример.
cout << 12345 <<'|'<< setw(4) << 12345 << '|' << setw(8) << 12345 << '|' << 12345 << "|\n";cout << 1234.5 <<'|'<< setw(4) << 1234.5 << '|' << setw(8) << 1234.5 << '|' << 1234.5 << "|\n";cout << "asdfg" <<'|'<< setw(4) << "asdfg" << '|' << setw(8) << "asdfg" << '|' << "asdfg" << "|\n";Этот код выводит на печать следующие числа:
12345|12345| 12345|12345|1234.5|1234.5| 1234.5|1234.5|asdfg|asdfg| asdfg|asdfg|Обратите внимание на то, что ширина поля не является инертным параметром. Во всех трех случаях первое и последнее числа по умолчанию выведены с максимальным количеством цифр, которые допускает текущий формат. Иначе говоря, если мы непосредственно перед выводом не укажем ширину поля, то понятие поля вообще не будет использовано.
ПОПРОБУЙТЕ
Создайте простую таблицу, содержащую фамилию, имя, номер телефона и адрес электронной почты не менее пяти ваших друзей. Поэкспериментируйте с разной шириной поля, пока не найдете приемлемый вид таблицы.
11.3. Открытие файла и позиционирование
В языке С++ файл — это абстракция возможностей операционной системы. Как указано в разделе 10.3, файл — это последовательность байтов, пронумерованных начиная с нуля.

Вопрос заключается лишь в том, как получить доступ к этим байтам. При работе с потоками
iostreamistreamostream11.3.1. Режимы открытия файлов
Файл можно открыть в одном из нескольких режимов. По умолчанию поток
ifstreamofstream
Режим открытия файла можно указать после его имени. Рассмотрим пример.
ofstream of1(name1); // по умолчанию ios_base::outifstream if1(name2); // по умолчанию ios_base::inofstream ofs(name, ios_base::app); // по умолчанию ofstream — // для записиfstream fs("myfile", ios_base::in|ios_base::out); // для ввода и выводаСимвол
|appВ любом случае конкретный режим открытия файла может зависеть от операционной системы. Если операционная система не может открыть файл в требуемом режиме, то поток перейдет в неправильное состояние.
if (!fs) // Ой: мы не можем открыть файл в таком режимеВ большинстве ситуаций причиной сбоя при открытии файла для чтения является его отсутствие.
ifstream ifs("redungs");if (!ifs) // ошибка: невозможно открыть файл readings для чтенияВ данном случае причиной ошибки стала опечатка.
Обычно, когда вы пытаетесь открыть несуществующий файл, операционная система создает новый файл для вывода, но, к счастью, она не делает этого, когда вы обращаетесь к несуществующему файлу для ввода.
ofstream ofs("no-such-file"); // создает новый файл no-such-fileifstream ifs("no-file-of-this-name"); // ошибка: поток ifs не нахо- // дится в состоянии good()11.3.2. Бинарные файлы
В памяти мы можем представить значение 123 как целое или как строку. Рассмотрим пример.