C ++

Ako čítať a zapisovať do súboru v C ++

Ako čítať a zapisovať do súboru v C ++

V tomto článku vám ukážeme, ako pomocou niekoľkých príkladov čítať a zapisovať do súboru v programovacom jazyku C ++. Aby sme porozumeli operáciám so súbormi C ++, ako sú čítanie a zápis, musíme najskôr porozumieť konceptu toku v jazyku C++.

Čo je to Stream?

Stream je jednoducho tok údajov alebo znakov. Existujú dva typy prúdov: vstupné prúdy a výstupné prúdy. Vstupný tok sa používa na čítanie údajov z externého vstupného zariadenia, napríklad z klávesnice, zatiaľ čo výstupný tok sa používa na zápis údajov do externého výstupného zariadenia, ako je monitor. Súbor možno považovať za vstupný aj výstupný zdroj.

V C ++ používame prúd na odosielanie alebo na príjem údajov do alebo z externého zdroja.

Na prístup k vstupnému / výstupnému toku môžeme použiť vstavané triedy, t.j.e., „Ios“.

Tu je hierarchia tried prúdenia programovacieho jazyka C ++:

Objekty „cin“ a „cout“ sa používajú na načítanie údajov z klávesnice a na zobrazenie výstupu na monitore. Okrem toho sa výraz „ifstream“, čo znamená „vstupný tok súborov“, používa na čítanie toku údajov zo súboru, a „ofstream“, čo sa označuje ako „prúd súborov“, sa používa na zápis toku údajov. do súboru.

„Iostram.Súbor h ”obsahuje všetky požadované štandardné triedy vstupných / výstupných prúdov v programovacom jazyku C ++.

Príklady

Teraz, keď rozumiete základom streamov, budeme diskutovať o nasledujúcich príkladoch, ktoré vám pomôžu lepšie porozumieť operáciám so súbormi v jazyku C ++:

Príklad 1: Otvorenie a zatvorenie súboru

V tomto ukážkovom programe si ukážeme, ako otvoriť / vytvoriť súbor a ako ho zavrieť v jazyku C++. Ako vidíte v nasledujúcom programe, zahrnuli sme knižnicu potrebnú na operácie so súbormi.

Na otvorenie a zatvorenie súboru potrebujeme objekt ofstream. Potom, aby sme mohli čítať alebo zapisovať do súboru, musíme súbor otvoriť. Zaradili sme súbor hlavičky fstream na riadok číslo 1, aby sme mali prístup k triede ofstream.

MyFile_Handler sme deklarovali ako objekt ofstream vo vnútri hlavnej funkcie. Potom môžeme pomocou funkcie open () vytvoriť prázdny súbor a pomocou funkcie close () súbor zavrieť.

#include
pomocou namespace std;
int main ()

ofstream myFile_Handler;
// Súbor otvorený
myFile_Handler.otvoriť („Súbor_1.TXT");
// Zavrieť súbor
myFile_Handler.Zavrieť();
návrat 0;

Teraz zostavíme program a preskúmame výstup. Ako vidíte v výstupnom okne nižšie, „File_1.Súbor txt ”bol vytvorený po spustení programu. Veľkosť súboru je nulová, pretože sme do súboru nenapísali žiadny obsah.

Príklad 2: Zápis do súboru

V predchádzajúcom ukážkovom programe sme si ukázali, ako otvoriť súbor a ako ho zavrieť. Teraz si ukážeme, ako niečo napísať do súboru.

Môžeme zapisovať do súboru pomocou operátora vkladania toku, t.j.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
pomocou namespace std;
int main ()

ofstream myFile_Handler;
// Súbor otvorený
myFile_Handler.otvoriť („Súbor_1.TXT");
// Zápis do súboru
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// Zavrieť súbor
myFile_Handler.Zavrieť();
návrat 0;

Teraz zostavíme vyššie uvedený program a vykonáme ho. Ako vidíte nižšie, úspešne sme sa dopísali do súboru File_1.TXT.

Príklad 3: Čítanie zo súboru

V predchádzajúcich príkladoch sme si ukázali, ako zapísať obsah do súboru. Teraz si prečítajme obsah zo súboru, ktorý sme vytvorili v príklade 2, a zobrazme obsah na štandardnom výstupnom zariadení, t.j.e., monitor.

Pomocou funkcie getline () načítame celý riadok zo súboru a potom „cout“ vytlačíme riadok na monitore.

#include
#include
#include
pomocou namespace std;
int main ()

ifstream myFile_Handler;
reťazec myLine;
// Súbor sa otvorí v režime čítania
myFile_Handler.otvoriť („Súbor_1.TXT");
if (myFile_Handler.je otvorené())

// Čítajte ďalej súbor
while (getline (myFile_Handler, myLine))

// vypíše riadok na štandardný výstup
cout << myLine << endl;

// Zavrieť súbor
myFile_Handler.Zavrieť();

inak

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

návrat 0;

Teraz vytlačíme obsah súboru_1.txt pomocou nasledujúceho príkazu: mačka Súbor_1.TXT. Po zostavení a vykonaní programu je zrejmé, že výstup zodpovedá obsahu súboru. Preto sme súbor úspešne prečítali a vytlačili jeho obsah na monitor.

Príklad 4: Čítanie a zápis do súboru

Doteraz sme vám ukázali, ako otvárať, čítať, písať a zatvárať súbory. V jazyku C ++ môžeme tiež čítať a zapisovať do súboru súčasne. Na čítanie aj zápis do súboru musíme získať objekt fstream a otvoriť súbor v režime „ios :: in“ a „ios :: out“.

V tomto príklade najskôr do súboru zapíšeme určitý obsah. Potom načítame údaje zo súboru a vytlačíme ich na monitor.

#include
#include
#include
pomocou namespace std;
int main ()

fstream myFile_Handler;
reťazec myLine;
// Súbor otvorený
myFile_Handler.otvoriť („Súbor_1.txt ", ios :: in | ios :: out);
// Skontrolujte, či sa súbor otvoril
ak (!myFile_Handler)

cout << "File did not open!";
výstup (1);

// Zápis do súboru
myFile_Handler << "1. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;
myFile_Handler.hľadať (ios :: prosiť);
// Prečítajte si súbor
if (myFile_Handler.je otvorené())

// Čítajte ďalej súbor
while (getline (myFile_Handler, myLine))

// vypíše riadok na štandardný výstup
cout << myLine << endl;

// Zavrieť súbor
myFile_Handler.Zavrieť();

inak

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

myFile_Handler.Zavrieť();
návrat 0;

Teraz program zostavíme a vykonáme.

Príklad 5: Čítanie a zápis do binárneho súboru

V tomto príklade budeme deklarovať triedu a potom zapísať objekt do binárneho súboru. Na zjednodušenie tohto príkladu sme deklarovali triedu Employee s verejnou premennou emp_id. Potom si prečítame binárny súbor a výstup vytlačíme na monitor.

#include
#include
pomocou namespace std;
trieda Zamestnanec

verejné:
int emp_id;
;
int main ()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Zamestnanec empObj_W, empObj_R;
// Súbor otvorený
binOutFile_Handler.otvorené („Zamestnanec.dat ", ios :: out | ios :: binary);
// Skontrolujte, či sa súbor otvoril
ak (!binOutFile_Handler)

cout << "File did not open!";
výstup (1);

// Inicializujte empObj_W
empObj_W.emp_id = 1512;
// Zápis do súboru
binOutFile_Handler.write ((char *) & empObj_W, sizeof (Employee));
binOutFile_Handler.Zavrieť();
ak (!binOutFile_Handler.dobrý ())

cout << "Error occured during writing the binary file!" << endl;
východ (2);

// Teraz si prečítajme zamestnanca.dátový súbor
binInFile_Handler.otvorené („Zamestnanec.dat ", ios :: in | ios :: binary);
// Skontrolujte, či sa súbor otvoril
ak (!binInFile_Handler)

cout << "File did not open!";
východ (3);

// Prečítajte si obsah binárneho súboru
binInFile_Handler.read ((char *) & empObj_R, sizeof (Employee));
binInFile_Handler.Zavrieť();
ak (!binInFile_Handler.dobrý ())

cout << "Error occured during reading the binary file!" << endl;
východ (4);

// Vytlačí výstup empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
návrat 0;

Záver

Súbory sa používajú hlavne na ukladanie údajov a hrajú dôležitú úlohu pri programovaní v reálnom svete. V tomto článku sme vám prostredníctvom niekoľkých príkladov ukázali, ako používať rôzne operácie so súbormi v programovacom jazyku C ++. Ďalej sme vám ukázali, ako čítať a zapisovať údaje do textových aj binárnych súborov.

Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...
Pridajte gestá myši do systému Windows 10 pomocou týchto bezplatných nástrojov
V posledných rokoch sa počítače a operačné systémy veľmi vyvinuli. Boli časy, keď používatelia museli prechádzať správcami súborov pomocou príkazov. R...
Ovládajte a spravujte pohyb myši medzi viacerými monitormi v systéme Windows 10
Správca myši s duálnym displejom umožňuje ovládať a konfigurovať pohyb myši medzi viacerými monitormi spomalením jeho pohybu blízko hranice. Windows 1...