Работа с файлами в С++.

Файл – именованный набор байтов, который может быть сохранен на некотором накопителе. Файл имеет уникальное имя, например файл.txt.

Для работы с файлами в С++ необходимо подключить заголовочный файл <fstream>. В <fstream> определены несколько классов и подключены заголовочные файлы <ifstream> — файловый ввод и <ofstream> — файловый вывод.

Файловый ввод/вывод аналогичен стандартному вводу/выводу, единственное отличие – это то, что ввод/вывод выполнятся не на экран, а в файл. Если ввод/вывод на стандартные устройства выполняется с помощью объектов cin и cout, то для организации файлового ввода/вывода достаточно создать собственные объекты, которые можно использовать аналогично операторам cin и cout.

Например, необходимо создать текстовый файл и записать в него строку “Сегодня мы изучаем работу с файлами в С++”. Для этого необходимо проделать четыре шага:

  1. создать объект класса ofstream;
  2. связать объект класса с файлом, в который будет производиться запись;
  3. записать строку в файл;
  4. закрыть файл.

Теперь рассмотрим на примере создание файла и записи в него строку:

// создаём объект для записи в файл
ofstream file; // объект класса ofstream. file - имя объекта
file.open("new_file.txt"); // связываем объект с файлом

Через операцию точка получаем доступ к методу класса open(), в круглых скобках которого указываем имя файла. Указанный файл будет создан в текущей директории с программой. Если файл с таким именем существует, то существующий файл будет заменен новым. Теперь запишем строку в открытый файл:

file << "Сегодня мы изучаем работу с файлами в С++"; // запись строки в файл

Используя операцию передачи в поток совместно с объектом file строка "Сегодня мы изучаем работу с файлами в С++" записывается в файл. Так как больше нет необходимости изменять содержимое файла, его нужно закрыть, то есть отделить объект от файла. Делается это так:

file.close(); // закрываем файл

Режимы открытия файлов

Режимы открытия файлов устанавливают характер использования файлов. Для установки режима в классе ios_base предусмотрены константы, которые определяют режим открытия файлов.

Константа Описание
ios_base::in открыть файл для чтения
ios_base::out открыть файл для записи
ios_base::ate при открытии переместить указатель в конец файла
ios_base::app открыть файл для записи в конец файла
ios_base::trunc удалить содержимое файла, если он существует
ios_base::binary открытие файла в двоичном режиме

Режимы открытия файлов можно устанавливать непосредственно при создании объекта или при вызове функции open(). Например:

ofstream file("new_file.txt", ios_base::app); // открываем файл для добавления информации к концу файла
file.open("new_file.txt", ios_base::app); // открываем файл для добавления информации к концу файла

Режимы открытия файлов можно комбинировать с помощью поразрядной логической операции или |, например: ios_base::out | ios_base::trunc — открытие файла для записи, предварительно очистив его.

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Локальные и глобальные переменные в С++.

Локальные и глобальные переменные в С++.

Каждая переменная имеет свою область видимости, то есть такую область, в которой можно работать с переменной. За пределами этой области, о данной переменной ничего известно

 
Математические функции в С++

Математические функции в С++

В языке С++ математические функции определены в заголовочном файле <cmath> функции выполняющие некоторые часто используемые математические задачи. Например, нахождение корня, возведение в степень, sin(), cos()

 
Структуры в C++.

Структуры в C++.

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

 
Перегрузка методов класса в C++.

Перегрузка методов класса в C++.

Методы класса можно перегружать также, как и обычные функции. Это очень удобно, когда нужно сделать несколько конструкторов, которые будут принимать разные параметры. Например, создадим основу

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: