Библиотека iostream поддерживает и файловый ввод/вывод. Все операции, применимые в стандартному вводу и выводу, могут быть также применены к файлам. Чтобы использовать файл для ввода или вывода, мы должны включить еще один заголовочный файл:
1 |
#include <fstream> |
Перед тем как открыть файл для вывода, необходимо объявить объект типа ofstream:
1 |
ofstream outfile("name-of-file"); |
Проверить, удалось ли нам открыть файл, можно следующим образом:
1 2 |
if ( ! outfile ) // false, если файл не открыт cerr « "Ошибка открытия файла.\n" |
Так же открывается файл и для ввода, только он имеет тип ifstream:
1 2 3 |
ifstream infile("name-of-file"); if ( ! infile ) // false, если файл не открыт cerr « "Ошибка открытия файла.\n" |
Ниже приводится текст простой программы, которая читает файл с именем in_file и выводит все прочитанные из этого файла слова, разделяя их пробелом, в другой файл, названный out_file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <iostream> #include <fstream> #include <string> int main() { ifstream infile("in_file"); ofstream outfile("out_file"); if ( !infile ) { cerr « "Ошибка открытия входного файла.\n" return -1; } if ( !outfile ) { cerr « "Ошибка открытия выходного файла.\n" return -2; } string word; while ( infile » word ) outfile « word « ' '; return 0; } |