У цій статті я домовився то що ще не розповідав. Минуло багато часу з того моменту як я написав статтю про роботу з текстовим файлом, але будучи зовсім зеленим я не міг відразу все зібрати і видати людям. Я не думав, що робота з текстовим файлом стане дуже популярною на сторінках мого блогу. Виявляється робота з файлами викликає дуже багато запитань
Тут я опишу відповідь на просте запитання. «Як відкрити файл в режимі ... ..».
У C ++ файли можна відкривати в таких режимах як Для читання, для запису і для додавання інформації в кінець файлу.
Константи режиму файлів
- ios :: in Відкрити файл для читання
- ios :: out Відкрити файл для запису
- ios :: ate Перейти до кінця файлу після відкриття
- ios :: app Додавати до кінця файлу
- ios :: trunc Усікти файл якщо він існує
- ios :: binary Бінарний файл
Використовувати ці константи досить просто. Наприклад передбачається, що в кінець файлу потрібно додати інформацію. Дивимося на константи і знаходимо відповідну.
ofstream MyOut1 ( "C: //1.txt". ios. ate); // Відкрили файл для додавання інформації в кінець
MyOut1 <<"BUGAGA" <<"\n" ; //Записали строчку
MyOut1. close (); // Закрили відкритий файл
Думаю цього прикладу досить, щоб визначитися з вашою ситуацією і визначити потрібну вам константу.
Але це ще не все. C ++ підтримує комбіновані режими, в яких можна відкривати файли в режимі для і для. Наприклад, якщо файл не існує, то при спробі до такого файлу звернутися відбудеться помилка. З неіснуючого файлу прочитати за визначенням нічого не можна. При відкритті файлу можна перевіряти на цю помилку і якщо файлу немає, то записувати новий порожній або видавати повідомлення, але можна скомбінувати режими відкриття: Відкрити для додавання в кінець файлу і запису в файл відразу.
Тепер можна запустити програму, після виконання переписати BUGAGA і запустити програму знову. Навіть якщо файл не існував, файл створиться, а якщо він є, то в його кінець буде дописуватися інформація.
Я думаю не має великого сенсу описувати всі можливі комбінації і шляхи. Вам ваші експерименти допоможуть трохи попрактикуватися і отримати навички для роботи з файлами в різних режимах
- ios :: in Відкрити для читання
- ios :: out Відкрити для запису
- ios :: out | ios :: trunc Відкрити для запису з урізанням існуючого файлу
- ios :: out | ios :: app Відкрити для запису з додаванням
- ios :: in | ios :: out Відкрити для читання і запису з дозволом запису з довільного місця файлу
- ios :: in | ios :: out | ios :: trunc Відкрити для читання і запису з урізанням існуючого файлу
- ios :: binary Відкрити в довічним режимі
========================
Під час ваших спроб щось зробити з файлом, ви швидше за все будете припускати який з режимів вам підходить більше