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
- Príklad 2: Zápis do súboru
- Príklad 3: Čítanie zo súboru
- Príklad 4: Čítanie a zápis do súboru
- Príklad 5: Čítanie a zápis do binárneho súboru
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ť.
#includepomocou 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.
#includepomocou 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.