Базовий курс програмування на С++. Робота з текстовими файлами в C++. |
Написав Joker | |||||
Неділя, 03 квітня 2016 13:26 Переглядів: 8431
|
|||||
Inspiration is for amateurs. I just get to work. ©Чак Клоуз Це маленький додаток до ваших знань, ви можете під час уроку випити філіжанку смачної кави. Сьогодні ми будемо працювати з текстовими файлами.
Firststep: Підключити потрібну бібліотеку. #include <fstream> Тепер можна створювати текстові файли, записувати в них дані і отримувати дані з текстових файлів. Залишилося навчитися користуватися цим. Почнемо із виводу у файл. Спершу пишемо: ofstream fout; Це розшифровується як output file stream. fout можна замінити на іншу назву. Але вся ця робота дуже схожа на звичайний cout та cin, навіщо запам’ятовувати зайву інформацію. Але ви маєте повне право назвати його по-іншому. Надалі я продовжу використовувати fout. Текстовий файл, як мінімум, повинен мати ім’я. fout.open(“My Text.txt”); У папці з проектом створюється текстовий файл з назвою My Text. Якщо такий уже існує, то він буде змінений, а попередня інформація буде втраченою. Це все. Далі робота майже нічим не відрізняється від cout. fout<< “goals. achievеment. glory.”; У текстовий файл буде записано goals. achievement. glory. Це може бути не тільки текст. Наприклад підрахуємо у наступному рядку суму чисел від 1 до 10. Весь код:
Ну але все ж не завжди потрібно втрачати інформацію, яка містилася у файлі до виконання програми, а просто доповнити його, продовжити вивід після вже написаного тексту.
Це не важко виправити. fout.open (“text.txt”, ios::app) Нагадаю, таким чином ви не зміните файл, а доповнюєте існуючий. Ну і закриємо файл: fout.close(); Тепер спробуємо зробити все навпаки. Потрібно зчитати дані з текстового файлу. Замість ofstream пишемо ifstream Було fout, тепер буде fin (cin -> console input; fin -> file input) Отже: ifstream fin; fin.open(“Text.txt”); Ще потрібно перевірити чи існує даний файл. Це робиться таким чином: if (!fin.is-open()) cout<< “file not found’ <<endl; else { } Ну і знати точний розмір файлу теж не завжди вдається. Корисніше просто зчитувати дані до самого кінця. while (!fin.eof()) Розшифровується як end of file, ну і не забувайте про інверсію в обох випадках. Secondstep: drink some coffee. bye. ( 13 Проголосувало ) Новіші матеріали:
Старіші матеріали:
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |