Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования (пособие).doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
965 Кб
Скачать
☆

4.3.1Запись информации в файл

Запись информации в файл осуществляется посредством следующих шагов:

  • объявление файловой переменной (файлового указателя);

  • открытие файла для записи;

  • запись информации в файл;

  • закрытие файла.

#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main() {

ofstream fout("hello.txt");

fout << "Привет";

fout.close();

return 0;

}

После запуска программы откроем файл hello.txt и убедимся, что этот файл создан, и требуемое сообщение записано в него (рис. 32).

Рисунок 32. Файл с записанным в него сообщением

В следующем примере в файл записываются значения переменных.

ofstream myFile("summa.txt");

int a, b;

cout << "Enter two numbers:" << endl;

cin >> a; cin >> b;

int summa = a+b;

myFile << summa << endl;

myFile.close();

По аналогичной схеме можно записать в файл последовательность, например, состоящую из чисел Фибоначчи.

ofstream myFile("fibonacci.txt");

int x0=0, x1=1;

for (int i=0; i<10; i++) {

myFile << x0 << ", ";

int xn=x0+x1;

x0=x1; x1=xn;

}

myFile.close();

4.3.2Чтение информации из файла

Схема чтения информации из файла аналогична записи:

  1. объявить файловую переменную;

  2. открыть файл для чтения;

  3. считать информацию из файла;

  4. закрыть файл.

Одной из важных задач, связанных с файлами, является чтение файла от начала до конца. Эта задача может быть связана с выводом содержимого файла, загрузкой данных из файла в массив, поиском данных в файле и т.д. Задачи могут быть разными, но все они требуют считывания данных из файла, пока этот файл не закончится. Наиболее простой вариант этой задачи – вывод содержимого файла на экран. Мы рассмотрим следующий алгоритм:

  • если файл не закончился, то считываем из него один символ и перемещаем файловый указатель далее;

  • выводим символ на экран.

После запуска программы на экране появится текст, записанный в файле. Если в качестве файла указать файл с кодом программы, то на экране появится код программы (рис. 33).

Рисунок 33. Вывод на экран кода программы

Вот как выглядит эта программа на C++:

#include <fstream>

#include <iostream>

#include <string>

using namespace std;

int main() {

ifstream fp("stroki.cpp");

//Пока неконец файла inFile

while (!fp.eof()) {

//Считываем символ из файла

char symbol = fp.get();

cout << symbol; //Выводим символ

}

fp.close();

system("pause");

return 0;

}

Функции feof() и eof() возвращают true, если конец файла достигнут, и false – иначе.

4.3.3Распространенная ошибка

Если имя файла указано неверно или файл с таким именем не существует, то возникнет ошибка времени исполнения (рис. 34).

Рисунок 34. Распространенная ошибка

4.3.4Контрольные вопросы

  1. Как записать один символ в файл?

  2. Как записать значение числовой переменной в файл?

  3. Как считать все содержимое файла?

  4. Какие функции для работы с файлами вам известны?

  5. Что произойдет, если попытаться прочитать содержимое несуществующего файла?

  6. Выведите содержимое файла на экран.

  7. Запишите в файл последовательность Фибоначчи.

  8. Запишите в файл первые N степеней двойки.

  9. Определите количество символов в файле.