Одновременно с открытием файловой переменной fr выделяется буферная память и устанавливается связь с физическим текстовым файлом isd.txt, размещенном на диске с, в каталоге EAPU08a. Признаком того, что файл текстовый, является расширение.txt.
Операторы открытия и закрытия файла
имя файловой переменной.open (“путь и имя физич. файла.txt”, ios::доступ); |
Синтаксис оператора открытия текстового файла имеет вид:
Например:
fstream fr; // Оператор описания файловой переменной
fr.open(“c:\\EAPU08a\\isd.txt”, ios::in); //Оператор открытия файла
// isd.txt для чтения
Здесь следует обратить внимание на то, что для указания пути, имя диска и подкаталоги разделяются не одной, а двумя наклонными линиями. Часто, по привычке, эти разделения делают одной линией, что приводит к ошибке.
В компиляторах компании Microsoft при попытке открыть несуществующий файл всегда создается новый. Чтобы это исключить, следует в операторе открытия файла добавить спецификацию ios::nocreate. Это будет выглядеть как
fr.open(“c:\\EAPU\\a\\isd.txt”,ios::nocreate||ios::in);
Спецификации ios::nocreate и ios::in комбинируются с помощью логической операции || (дизъюнкция).
В компиляторах компании Borland в аналогичной ситуации новый файл не создается.После завершения работы с файлом его следует закрыть.
Синтаксис оператора закрытия файла следующий:
Имя файловой переменной. close(); |
Например, fr. close();
Внешние файлы создаются в среде языка С++. Файл исходных данных создается до создания файла, содержащего текст программы. Это объясняется тем, что при создании текста программы уже необходимо знать путь и имя внешнего файла исходных данных.
Для создания файла исходных данных необходимо выполнить следующие действия:
– раскрыть пункт меню File,
– в раскрывшемся окне выбрать пункт New и раскрыть его,
–в открывшемся окне, начиная с первой позиции набирать ряд чисел, разделяя их одним пробелом,
– после завершения этого ряда необходимо выполнить команды
File – Save as
ив раскрывшемся окне указать путь к файлу и его имя.
Примечание. При разделении каталогов в записи пути к файлу следует использовать в качестве разделителя не две наклонных линии \\, как это делается в самой программе, а одну \. Например: с:\EAPU\a\vec.txt
После этого в программе, в операторе открытия файла, следует использовать этот путь к файлу и его имя, но уже с разделителями в виде двух наклонных линий \\.
При создании файла, состоящей из матрицы, все элементы матрицы можно размещать в виде одного ряда чисел (строка за строкой), так же как это было описано ранее для ряда чисел.
Внешние файлы, куда выводится информация (результаты вычислений) создаются автоматически, в том месте и под таким именем, которые были указаны в операторе открытия файловой переменной для записи.