Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

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

Тема 9. ФАЙЛЫ

Зачем нужны файлы?

Переменные, массивы и структуры хранятся в оперативной памяти компьютера, следовательно, выделенная под них память освобождается после завершения работы программы, и данные, содержащиеся в них, пропадают. Этот факт можно проверить, открыв диспетчер задач и выбрав вкладку «Быстродействие»:

На данной вкладке можно увидеть объем занятой оперативной памяти:

Напишем теперь программу, содержащую объявление большого массива:

 

int mas[10000000];

 

Запуск этой программы приведет к тому, что объем занятой оперативной памяти увеличится:

После завершения работы программы объем занятой памяти станет прежним:

 

 

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

 

Возможность хранить информацию независимо от того, работает программа или нет, а также хранить большие объемы информации предоставляют файлы. Они находятся на жестком диске, и их содержимое загружается в оперативную память по мере необходимости.

 

 

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

 

Для записи информации в файл предназначены несколько функций, среди которых

 

  • fputc();
  • fputs();
  • fprintf().

 

Запись осуществляется в четыре шага:

 

1. описание файловой переменной (файлового указателя);

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

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

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

 

Следующий фрагмент кода демонстрирует эти шаги в действии:

 

//Описание файловой переменной myFile

FILE* myFile;

 

//Открытие файла для записи

myFile = fopen("hello.txt", "w");

 

//Запись сообщения «Привет!» в файл

fputc('П', myFile); fputc('р', myFile);

fputc('и', myFile); fputc('в', myFile);

fputc('е', myFile); fputc('т', myFile);

fputc('!', myFile);

 

//Закрытие файла

fclose(myFile);

 

Функция fputc() записывает в файл hello.txt один символ.

Результатом запуска программы будет создание на диске файла hello.txt, содержимым которого станет фраза «Привет!» Следует обратить внимание на то, что, если путь к файлу не указан, то он создается в той же папке, что и файл с кодом программы (в данном случае – это файл main.cpp):

 

 

Проверьте содержимое файла, открыв его в любом текстовом редакторе:

 

 

Функции fputs() и fprintf() работают аналогично их аналогам для консольного вывода: функциям puts() и printf(). Отличие заключается только в том, что нужно указать файл, в который осуществляется запись. Функция fputs() записывает строку в файл:

 

fputs("Это моя строка.", myFile);

 

 

Функция fprintf() осуществляет запись в файл согласно шаблону:

 

fprintf(myFile, "%s получил %d.", "Павел", 5);

 

Указание пути к файлу

 

Путь к файлу может быть двух видов:

· относительный

· абсолютный

 

При указании относительного пути точкой отсчета является папка, где хранится файл с программой (*.cpp); при использовании абсолютного пути точка отсчета – это «мой компьютер».

 

При использовании относительного пути можно писать символ «..», который позволяет обратиться к родительской папке, аналогично любому файловому менеджеру:

 

 

Функция открытия файла fopen() принимает два параметра; первый – это имя файла, а второй – режим открытия файла. Для создания файла в другой папке следует указать его полный путь.

 

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.