Язык С++ и программирование на нем. Рейзлин В.И. - 173 стр.

UptoLike

Составители: 

175
жет помочь избежать переполнения строки-приемника при вводе сим-
вольных строк:
const int SIZE = 50;
. . .
char array[SIZE];
cin>>setw(sizeof(array)); // Или cin.width(sizeof(array));
// Ограничивает число вводимых симво-
лов
. . . // и позволяет избежать выхода
// за границу массива.
cin >> array;
27.5. Файловый ввод-вывод с использованием потоков
Для осуществления операций с файлами предусмотрено три клас-
са: ifstream, ofstream и fstream. Эти классы являются производными,
соответственно, от классов istream, ostream и iostream. Поскольку эти
последние классы, в свою очередь, являются производными от класса
ios, классы файловых потоков наследуют все функциональные возмож-
ности своих родителей (перегруженные операции << и >> для встро-
енных типов, функции и флаги форматирования, манипуляторы и пр.).
Для реализации файлового ввода-вывода нужно включить в программу
заголовочный файл fstream.h.
Существует небольшое отличие между использованием предо-
пределенных и файловых потоков. Файловый поток должен быть связан
с файлом прежде, чем его можно будет использовать. С другой стороны,
предопределенные потоки могут использоваться сразу после запуска
программы, даже в конструкторах статических классов, которые выпол-
няются даже раньше вызова функции main(). Можно позиционировать
файловый поток в произвольную позицию в файле, в то время как для
предопределенных потоков это обычно не имеет смысла.
Для создания файлового потока эти классы предусматривают сле-
дующие формы конструктора:
создать поток, не связывая его с файлом:
ifstream();
ofstream();
fstream();