C ++

Як читати та записувати у файл у C ++

Як читати та записувати у файл у C ++

У цій статті ми на декількох прикладах покажемо вам, як читати та писати у файл мовою програмування С ++. Щоб зрозуміти операції з файлами C ++, такі як читання та запис, ми повинні спочатку зрозуміти концепцію потоку в C++.

Що таке потік?

Потік - це просто потік даних або символів. Існує два типи потоків: вхідні та вихідні. Вхідний потік використовується для зчитування даних із зовнішнього пристрою введення, такого як клавіатура, тоді як вихідний потік використовується для запису даних на зовнішній пристрій виведення, такий як монітор. Файл можна розглядати як джерело вхідного та вихідного даних.

У C ++ ми використовуємо потік для надсилання або отримання даних до зовнішнього джерела або від нього.

Ми можемо використовувати вбудовані класи для доступу до потоку вводу / виводу, тобто.e., “Ios”.

Ось ієрархія класу потоків мови програмування С ++:

Об'єкти “cin” та “cout” використовуються для зчитування даних з клавіатури та відображення виводу на моніторі відповідно. Крім того, “ifstream”, що означає “потік вхідного файлу”, використовується для зчитування потоку даних із файлу, а “ofstream”, що означає “вихідний потік файлу”, використовується для запису потоку даних у файл.

“Іострам.Файл h ”містить усі необхідні стандартні класи потоків вводу / виводу мовою програмування С ++.

Приклади

Тепер, коли ви розумієте основи потоків, ми обговоримо наступні приклади, щоб допомогти вам краще зрозуміти файлові операції в C ++:

Приклад 1: Відкрийте та закрийте файл

У цьому прикладі програми ми продемонструємо, як відкрити / створити файл і як закрити файл у C++. Як ви можете бачити в програмі нижче, ми включили бібліотеку, необхідну для роботи з файлами.

Щоб відкрити та закрити файл, нам потрібен об'єкт потоку. Потім, щоб прочитати або записати у файл, ми повинні відкрити файл. Ми включили файл заголовка fstream в рядок номер 1, щоб ми могли отримати доступ до класу потоку.

Ми оголосили myFile_Handler як об'єкт потоку всередині основної функції. Потім ми можемо використовувати функцію open () для створення порожнього файлу, а функцію close () - для закриття файлу.

#включати
використання простору імен std;
int main ()

ofstream myFile_Handler;
// Відкриття файлу
myFile_Handler.відкрити ("Файл_1.txt ");
// Закрити файл
myFile_Handler.закрити ();
повернути 0;

Тепер ми складемо програму та вивчимо результати. Як ви можете бачити у вікні виводу нижче, “File_1.txt ”був створений після запуску програми. Розмір файлу дорівнює нулю, оскільки ми не записали жодного вмісту у файл.

Приклад 2: Запис у файл

У попередньому прикладі програми ми показали вам, як відкрити файл і як закрити файл. Тепер ми покажемо вам, як записати щось у файл.

Ми можемо писати у файл за допомогою оператора вставки потоку, тобто.e., “<<”. In this program, we have used the file handler and insertion operator to write two lines in the file. The insertion operator (“<<”) indicates that we are inserting the string into the output file stream object.

#включати
використання простору імен std;
int main ()

ofstream myFile_Handler;
// Відкриття файлу
myFile_Handler.відкрити ("Файл_1.txt ");
// Запис у файл
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// Закрити файл
myFile_Handler.закрити ();
повернути 0;

Тепер ми скомпілюємо вищезазначену програму та виконаємо її. Як ви можете бачити нижче, ми успішно записали файл File_1.txt.

Приклад 3: Читання з файлу

У попередніх прикладах ми показали вам, як записати вміст у файл. Тепер давайте прочитаємо вміст із файлу, який ми створили в Прикладі-2, і відобразимо вміст на стандартному пристрої виводу, тобто.e., монітор.

Ми використовуємо функцію getline () для зчитування повного рядка з файлу, а потім “cout” для друку рядка на моніторі.

#включати
#включати
#включати
використання простору імен std;
int main ()

ifstream myFile_Handler;
рядок myLine;
// Відкриття файлу в режимі читання
myFile_Handler.відкрити ("Файл_1.txt ");
if (myFile_Handler.is_open ())

// Продовжуйте читати файл
while (getline (myFile_Handler, myLine))

// друк рядка на стандартному виводі
кут << myLine << endl;

// Закрити файл
myFile_Handler.закрити ();

ще

кут << "Unable to open the file!";

повернути 0;

Тепер ми надрукуємо вміст File_1.txt, використовуючи таку команду: cat File_1.txt. Після того, як ми скомпілюємо та виконаємо програму, стає зрозуміло, що вихідні дані відповідають вмісту файлу. Тому ми успішно прочитали файл і надрукували вміст файлу на моніторі.

Приклад 4: Читання та запис у файл

Наразі ми показали вам, як відкрити, прочитати, записати та закрити файл. У C ++ ми також можемо одночасно читати та записувати у файл. Щоб як читати, так і писати у файл, ми повинні отримати об’єкт fstream і відкрити файл у режимах “ios :: in” та “ios :: out”.

У цьому прикладі ми спочатку записуємо вміст у файл. Потім ми зчитуємо дані з файлу та друкуємо їх на моніторі.

#включати
#включати
#включати
використання простору імен std;
int main ()

fstream myFile_Handler;
рядок myLine;
// Відкриття файлу
myFile_Handler.відкрити ("Файл_1.txt ", ios :: in | ios :: out);
// Перевірте, чи файл відкрився
якщо (!myFile_Handler)

кут << "File did not open!";
вихід (1);

// Запис у файл
myFile_Handler << "1. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;
myFile_Handler.шукати (ios :: просити);
// Прочитати файл
if (myFile_Handler.is_open ())

// Продовжуйте читати файл
while (getline (myFile_Handler, myLine))

// друк рядка на стандартному виводі
кут << myLine << endl;

// Закрити файл
myFile_Handler.закрити ();

ще

кут << "Unable to open the file!";

myFile_Handler.закрити ();
повернути 0;

Тепер ми скомпілюємо та виконаємо програму.

Приклад 5: Читання та запис у двійковий файл

У цьому прикладі ми збираємось оголосити клас, а потім записати об'єкт у двійковий файл. Для спрощення цього прикладу ми оголосили клас Employee із загальнодоступною змінною emp_id. Потім ми прочитаємо двійковий файл і надрукуємо висновок на монітор.

#включати
#включати
використання простору імен std;
клас Співробітник

публічний:
int emp_id;
;
int main ()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Працівник empObj_W, empObj_R;
// Відкриття файлу
binOutFile_Handler.відкритий ("Співробітник.dat ", ios :: out | ios :: двійковий файл);
// Перевірте, чи файл відкрився
якщо (!binOutFile_Handler)

кут << "File did not open!";
вихід (1);

// Ініціалізуємо empObj_W
empObj_W.emp_id = 1512;
// Запис у файл
binOutFile_Handler.write ((char *) & empObj_W, sizeof (Співробітник));
binOutFile_Handler.закрити ();
якщо (!binOutFile_Handler.добре ())

кут << "Error occured during writing the binary file!" << endl;
вихід (2);

// А тепер давайте прочитаємо працівника.dat
binInFile_Handler.відкритий ("Співробітник.dat ", ios :: in | ios :: двійковий файл);
// Перевірте, чи файл відкрився
якщо (!binInFile_Handler)

кут << "File did not open!";
вихід (3);

// Прочитати вміст двійкового файлу
binInFile_Handler.read ((char *) & empObj_R, sizeof (Співробітник));
binInFile_Handler.закрити ();
якщо (!binInFile_Handler.добре ())

кут << "Error occured during reading the binary file!" << endl;
вихід (4);

// Роздрукувати вихідні дані empObj_R
кут << "Details of the Employee : " << endl;
кут << "Employee ID : " << empObj_R.emp_id << endl;
повернути 0;

Висновок

Файли в основному використовуються для зберігання даних, і вони відіграють важливу роль у реальному програмуванні. У цій статті ми продемонстрували вам, як використовувати різні файлові операції з мовою програмування С ++, переглянувши кілька прикладів. Крім того, ми показали вам, як читати та записувати дані як у текстові файли, так і в двійкові файли.

Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...