Читайте также:
|
|
Для работы с дисковыми файлами необходимо подключение заголовочного файла <fstream>, содержащего наборы специальных классов:
- ifstream — для ввода,
- ofstream — для вывода,
- fstream — для чтения и записи данных в один и тот же файл.
Чтобы получить возможность работать с дисковым файлом, нужно открыть его с указанием режима доступа, который определяется значением константы open-mode класса ios.
Режим доступа | Стандарт | Действие |
app | нет | открывает файл для дозаписи |
ate(atend) | да | при открытии файла устанавливает файловый указатель на конец файла |
binary(bin) | да | открыть файл в двоичном представлении |
in | да | открыть файл для чтения (ввода) |
nocreate | нет | если файл не существует, то новый файл не создается |
noreplace | нет | если файл уже существует, файл не перезаписывается |
out | да | открыть файл для записи (вывода) |
trunc | нет | Открывает и усекает существующий файл. Новая информация замещает существующую |
Текстовые файлы.
Создание и запись.
Для создания текстового файла определяют объект класса ofstream и передают конструктору класса имя дискового файла в качестве первого параметра и режим доступа в качестве второго параметра:
ofstream out_file(“Out.txt”, ios::out);
Можно объявить константу, определяющую режим открытия файла, например:
const ois::open_mode=ois::out | ios::app;
После того, как предпринималась попытка открыть файл, следует убедиться в том, что файл открыт и готов для записи (или перезаписи):
if (! out_file) { cerr<<”Error: unable to write to out.txt”<<endl;
exit(1);
}
Все сказанное верно и для файлов, открываемых для чтения (или входных файлов):
ifstream in_file(“Input.txt”, ios::in);
if (! in_file) { cerr<<”Error: unable to open Input.txt”<<endl;
exit(1);
}
При работе с текстовыми файлами наиболее часто встречаются 4 действия:
- посимвольное чтение - посимвольная запись | - построчное чтение - построчная запись |
Посимвольное чтение текста.
Функция get(), которая является методом istream, применяется для посимвольного чтения текстового файла.
Пример 13.1. Посимвольное чтение файла и вывод его на экран.
# include <fstream>
# include <iostream>
using namespace std:
int main()
{ char sym;
ifstream in_file (“Input_file.txt”, ios::in);
if (! in_file) { cerr<<”Error input file”<<endl;
exit(1);
}
while (in_file) { in_file.get(sym);
cout<<sym;
}
cout<<endl;
return 0;
}
Посимвольная запись текста.
Функция put(), которая является методом ostream, позволяет осуществлять посимвольную запись данных в текстовый файл.
Дата добавления: 2014-12-18; просмотров: 26 | Поможем написать вашу работу | Нарушение авторских прав |