C ++

Cum se citește și se scrie într-un fișier în C ++

Cum se citește și se scrie într-un fișier în C ++

În acest articol, vă vom arăta cum să citiți și să scrieți într-un fișier în limbajul de programare C ++ utilizând mai multe exemple. Pentru a înțelege operațiile de fișiere C ++, cum ar fi citirea și scrierea, trebuie să înțelegem mai întâi conceptul de flux în C++.

Ce este un flux?

Un flux este pur și simplu un flux de date sau caractere. Există două tipuri de fluxuri: fluxuri de intrare și fluxuri de ieșire. Un flux de intrare este utilizat pentru a citi datele de pe un dispozitiv de intrare extern, cum ar fi o tastatură, în timp ce un flux de ieșire este utilizat pentru a scrie date pe dispozitivul de ieșire extern, cum ar fi un monitor. Un fișier poate fi considerat atât o sursă de intrare, cât și o sursă de ieșire.

În C ++, folosim un flux pentru a trimite sau a primi date către sau de la o sursă externă.

Putem folosi clase încorporate pentru a accesa un flux de intrare / ieșire, i.e., „Ios”.

Iată ierarhia clasei de flux a limbajului de programare C ++:

Obiectele „cin” și „cout” sunt utilizate pentru a citi datele de la tastatură și pentru a afișa ieșirea pe monitor, respectiv. În plus, „ifstream”, care înseamnă „flux de fișiere de intrare”, este utilizat pentru a citi un flux de date dintr-un fișier și „ofstream”, care înseamnă „flux de fișiere de ieșire”, este utilizat pentru a scrie un flux de date la un dosar.

„Iostram.h ”conține toate clasele standard necesare de intrare / ieșire în limbajul de programare C ++.

Exemple

Acum că înțelegeți noțiunile de bază ale fluxurilor, vom discuta despre următoarele exemple pentru a vă ajuta să înțelegeți mai bine operațiile de fișiere în C ++:

Exemplul 1: Deschideți și închideți un fișier

În acest exemplu de program, vom demonstra cum să deschideți / creați un fișier și cum să închideți fișierul în C++. După cum puteți vedea în programul de mai jos, am inclus biblioteca necesară pentru operațiile de fișiere.

Pentru a deschide și închide un fișier, avem nevoie de un obiect ofstream. Apoi, pentru a citi sau a scrie într-un fișier, trebuie să deschidem fișierul. Am inclus fișierul antet fstream la linia numărul-1 astfel încât să putem accesa clasa ofstream.

Am declarat un myFile_Handler ca obiect ofstream în interiorul funcției principale. Putem apoi folosi funcția open () pentru a crea un fișier gol și funcția close () pentru a închide fișierul.

#include
folosind spațiul de nume std;
int main ()

ofstream MyFile_Handler;
// Fișier deschis
MyFile_Handler.deschideți („Fișier_1.txt");
// Închidere fișier
MyFile_Handler.închide();
retur 0;

Acum, vom compila programul și vom examina rezultatul. După cum puteți vedea în fereastra de ieșire de mai jos, fișierul „Fișier_1.txt ”a fost creat după executarea programului. Dimensiunea fișierului este zero, deoarece nu am scris niciun conținut în fișier.

Exemplul 2: Scrieți într-un fișier

În exemplul de program anterior, v-am arătat cum să deschideți un fișier și cum să închideți fișierul. Acum, vă vom arăta cum să scrieți ceva într-un fișier.

Putem scrie într-un fișier folosind operatorul de inserare a fluxului, i.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.

#include
folosind spațiul de nume std;
int main ()

ofstream MyFile_Handler;
// Fișier deschis
MyFile_Handler.deschideți („Fișier_1.txt");
// Scrieți în fișier
MyFile_Handler << "This is a sample test File. " << endl;
MyFile_Handler << "This is the second line of the file. " << endl;
// Închidere fișier
MyFile_Handler.închide();
retur 0;

Acum, vom compila programul de mai sus și îl vom executa. După cum puteți vedea mai jos, am scris cu succes în fișierul File_1.txt.

Exemplul 3: Citiți dintr-un fișier

În exemplele anterioare, v-am arătat cum să scrieți conținut într-un fișier. Acum, să citim conținutul din fișierul pe care l-am creat în Exemplul-2 și să afișăm conținutul pe dispozitivul de ieșire standard, i.e., Monitorul.

Folosim funcția getline () pentru a citi linia completă din fișier și apoi „cout” pentru a imprima linia pe monitor.

#include
#include
#include
folosind spațiul de nume std;
int main ()

ifstream myFile_Handler;
string myLine;
// Deschidere fișier în modul de citire
MyFile_Handler.deschideți („Fișier_1.txt");
if (MyFile_Handler.este deschis())

// Continuați să citiți fișierul
while (getline (MyFile_Handler, myLine))

// imprimați linia pe ieșirea standard
cout << myLine << endl;

// Închidere fișier
MyFile_Handler.închide();

altceva

cout << "Unable to open the file!";

retur 0;

Acum, vom imprima conținutul fișierului_1.txt folosind următoarea comandă: cat File_1.txt. Odată ce am compilat și executat programul, este clar că rezultatul se potrivește cu conținutul fișierului. Prin urmare, am citit cu succes fișierul și am imprimat conținutul fișierului pe monitor.

Exemplul 4: Citiți și scrieți într-un fișier

Până în prezent, v-am arătat cum să deschideți, să citiți, să scrieți și să închideți un fișier. În C ++, putem citi și scrie în același timp într-un fișier. Pentru a citi și a scrie într-un fișier, trebuie să obținem un obiect fstream și să deschidem fișierul în modul „ios :: in” și „ios :: out”.

În acest exemplu, mai întâi scriem conținut în fișier. Apoi, citim datele din fișier și le imprimăm pe monitor.

#include
#include
#include
folosind spațiul de nume std;
int main ()

fstream myFile_Handler;
string myLine;
// Fișier deschis
MyFile_Handler.deschideți („Fișier_1.txt ", ios :: in | ios :: out);
// Verificați dacă fișierul s-a deschis
dacă(!MyFile_Handler)

cout << "File did not open!";
ieșire (1);

// Scrieți în fișier
MyFile_Handler << "1. This is another sample test File. " << endl;
MyFile_Handler << "2. This is the second line of the file. " << endl;
MyFile_Handler.seekg (ios :: beg);
// Citiți fișierul
if (MyFile_Handler.este deschis())

// Continuați să citiți fișierul
while (getline (MyFile_Handler, myLine))

// imprimați linia pe ieșirea standard
cout << myLine << endl;

// Închidere fișier
MyFile_Handler.închide();

altceva

cout << "Unable to open the file!";

MyFile_Handler.închide();
retur 0;

Acum, vom compila și executa programul.

Exemplul 5: Citiți și scrieți într-un fișier binar

În acest exemplu, vom declara o clasă și apoi vom scrie obiectul într-un fișier binar. Pentru a simplifica acest exemplu, am declarat clasa Angajat cu o variabilă publică emp_id. Apoi, vom citi fișierul binar și vom imprima ieșirea pe monitor.

#include
#include
folosind spațiul de nume std;
clasa Angajat

public:
int emp_id;
;
int main ()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Angajat empObj_W, empObj_R;
// Fișier deschis
binOutFile_Handler.deschis („Angajat.dat ", ios :: out | ios :: binary);
// Verificați dacă fișierul s-a deschis
dacă(!binOutFile_Handler)

cout << "File did not open!";
ieșire (1);

// Inițializați empObj_W
empObj_W.emp_id = 1512;
// Scrieți în fișier
binOutFile_Handler.write ((char *) & empObj_W, sizeof (Angajat));
binOutFile_Handler.închide();
dacă(!binOutFile_Handler.bun())

cout << "Error occured during writing the binary file!" << endl;
ieșire (2);

// Acum, să citim angajatul.fișier dat
binInFile_Handler.deschis („Angajat.dat ", ios :: in | ios :: binar);
// Verificați dacă fișierul s-a deschis
dacă(!binInFile_Handler)

cout << "File did not open!";
ieșire (3);

// Citiți conținutul fișierului binar
binInFile_Handler.read ((char *) & empObj_R, sizeof (Angajat));
binInFile_Handler.închide();
dacă(!binInFile_Handler.bun())

cout << "Error occured during reading the binary file!" << endl;
ieșire (4);

// Imprimați rezultatul empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
retur 0;

Concluzie

Fișierele sunt utilizate în principal pentru stocarea datelor și joacă un rol important în programarea din lumea reală. În acest articol, v-am arătat cum să utilizați diferite operații de fișiere cu limbajul de programare C ++, lucrând mai multe exemple. Mai mult, v-am arătat cum să citiți și să scrieți date atât în ​​fișiere text, cât și în fișiere binare.

AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...