Клас fstream в с, мови програмування

Для роботи з файлами в С ++ дуже часто використовується клас fstream. В цьому класі реалізовані функції відкриття і закриття файлу, а також члени класу, які дозволяють позиціонувати покажчик (місце де ми знаходимося). Існують різні способи відкриття файлу, які задаються лічильної змінної open_mode.

Відкриття файлу за допомогою fstream

  1. app - відкрити файл для до запису в кінець;
  2. binary - відкрити файл в бінарному вигляді;
  3. in - відкрити файл для читання;
  4. out - відкрити файл для запису з початку. Якщо файл не існує, то він буде створений новий файл;
  5. trunc - очистити файл від вмісту;
  6. ate - покажчик позиції в файлі встановити в кінець.

Все вище зазначені змінні є членами базового класу ios. Тому слід вказувати повний шлях: ios :: in. ios :: out і так далі.

функції fstream

  1. open () - відкриває файл;
  2. is_open () - перевірка відкриття файлу. Якщо відкритий, то функція поверне TRUE інакше FALSE;
  3. rdbuf () - видає покажчик на буфер введення / виведення;
  4. getline (param1, param2) - прочитати рядок з файлу в змінну param1, довгою param2;
  5. close () - закрити файл.

Відкриття файлу функцією open () осуществяется з параметрами. Наприклад: FILE.open ( «myfile.txt», ios_base :: in); або FILE.open ( «myfile.txt», ios_base :: in | ios_base :: out);

Приклад використання класу fstream в С ++:
[Code]
#include
#include
#include

using namespace std;

int main ()
setlocale (LC_ALL, "Russian");
fstream FILE;

// блок записи в файл
FILE.open ( "myfile.txt", ios_base :: out);
FILE<<"Первая строка"< FILE<<"Вторая строка"< FILE<<"Третья строка";
FILE.close (); //

// блок читання з файлу по рядково
FILE.open ( "myfile.txt", ios_base :: in);
char str [50];
FILE.getline (str, 50);
cout< FILE.getline (str, 50);
cout< FILE.getline (str, 50);
cout< FILE.close (); //

// блок читання з файлу всього вмісту
FILE.open ( "myfile.txt", ios_base :: in);
cout< FILE.close (); //

// блок читання з файлу по рядково в циклі
FILE.open ( "myfile.txt", ios_base :: in);
while (! FILE.eof ())
FILE.getline (str, 50);
cout<>
FILE.close (); //

Цікаві статті по темі: