C ++

Kako brati in zapisovati v datoteko v jeziku C ++

Kako brati in zapisovati v datoteko v jeziku C ++

V tem članku vam bomo na več primerih pokazali, kako berete in pišete v datoteko v programskem jeziku C ++. Da bi razumeli operacije datotek C ++, kot sta branje in pisanje, moramo najprej razumeti koncept toka v jeziku C++.

Kaj je tok?

Tok je preprosto pretok podatkov ali znakov. Obstajata dve vrsti tokov: vhodni in izhodni tokovi. Vhodni tok se uporablja za branje podatkov z zunanje vhodne naprave, kot je tipkovnica, izhodni tok pa za zapisovanje podatkov v zunanjo izhodno napravo, kot je monitor. Datoteko lahko obravnavamo kot vhodni in izhodni vir.

V C ++ uporabljamo tok za pošiljanje ali prejemanje podatkov v ali iz zunanjega vira.

Za dostop do vhodno / izhodnega toka lahko uporabimo vgrajene razrede, tj.e., "Ios".

Tu je hierarhija razredov tokov programskega jezika C ++:

Objekta “cin” in “cout” se uporabljata za branje podatkov s tipkovnice in za prikaz izhoda na monitorju. Poleg tega se za branje toka podatkov iz datoteke uporablja „ifstream“, ki pomeni „tok vhodne datoteke“, za zapis toka podatkov pa „ofstream“, ki pomeni „tok izhodne datoteke“. v datoteko.

»Iostram.Datoteka h ”vsebuje vse zahtevane standardne razrede vhodno / izhodnega toka v programskem jeziku C ++.

Primeri

Zdaj, ko razumete osnove tokov, bomo razpravljali o naslednjih primerih, ki vam bodo pomagali bolje razumeti datotečne operacije v jeziku C ++:

Primer 1: Odprite in zaprite datoteko

V tem primeru programa bomo prikazali, kako odpreti / ustvariti datoteko in kako zapreti datoteko v jeziku C++. Kot lahko vidite v spodnjem programu, smo vključili knjižnico, potrebno za delovanje datotek.

Za odpiranje in zapiranje datoteke potrebujemo objekt toka. Nato moramo datoteko odpreti, če želimo prebrati ali zapisati v datoteko. Datoteko glave fstream smo vključili v vrstico številka 1, da lahko dostopamo do razreda stream.

MyFile_Handler smo razglasili za objekt toka znotraj glavne funkcije. Nato lahko s funkcijo open () ustvarimo prazno datoteko in s funkcijo close () zapremo datoteko.

#include
uporaba imenskega prostora std;
int main ()

ofstream myFile_Handler;
// Datoteka odprta
myFile_Handler.odpri ("Datoteka_1.txt ");
// Zapiranje datoteke
myFile_Handler.blizu ();
vrnitev 0;

Zdaj bomo sestavili program in preučili rezultate. Kot lahko vidite v spodnjem izhodnem oknu, se prikaže »File_1.txt ”je bila ustvarjena po zagonu programa. Velikost datoteke je nič, ker v datoteko nismo zapisali nobene vsebine.

2. primer: Zapiši v datoteko

V prejšnjem primeru programa smo vam pokazali, kako odpreti datoteko in kako jo zapreti. Zdaj vam bomo pokazali, kako nekaj zapisati v datoteko.

V datoteko lahko pišemo z operaterjem za vstavljanje toka, tj.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
uporaba imenskega prostora std;
int main ()

ofstream myFile_Handler;
// Datoteka odprta
myFile_Handler.odpri ("Datoteka_1.txt ");
// Zapiši v datoteko
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// Zapiranje datoteke
myFile_Handler.blizu ();
vrnitev 0;

Zdaj bomo zbrali zgornji program in ga izvedli. Kot lahko vidite spodaj, smo uspešno zapisali v datoteko File_1.txt.

3. primer: branje iz datoteke

V prejšnjih primerih smo vam pokazali, kako zapisati vsebino v datoteko. Zdaj preberimo vsebino iz datoteke, ki smo jo ustvarili v primeru-2, in jo prikažemo na standardni izhodni napravi, tj.e., monitor.

Funkcijo getline () uporabljamo za branje celotne vrstice iz datoteke, nato pa cout za tiskanje vrstice na monitor.

#include
#include
#include
uporaba imenskega prostora std;
int main ()

ifstream myFile_Handler;
niz myLine;
// Datoteka se odpre v načinu branja
myFile_Handler.odpri ("Datoteka_1.txt ");
if (myFile_Handler.is_open ())

// Nadaljujte z branjem datoteke
medtem ko (getline (myFile_Handler, myLine))

// natisnemo vrstico na standardni izhod
cout << myLine << endl;

// Zapiranje datoteke
myFile_Handler.blizu ();

drugače

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

vrnitev 0;

Zdaj bomo natisnili vsebino datoteke_1.txt z naslednjim ukazom: mačka File_1.txt. Ko zberemo in izvedemo program, je jasno, da se izhodni podatki ujemajo z vsebino datoteke. Zato smo datoteko uspešno prebrali in vsebino datoteke natisnili na monitor.

4. primer: branje in pisanje v datoteko

Do zdaj smo vam pokazali, kako odpreti, prebrati, zapisati in zapreti datoteko. V C ++ lahko hkrati beremo in pišemo v datoteko. Za branje in pisanje v datoteko moramo dobiti objekt fstream in datoteko odpreti v načinu “ios :: in” in “ios :: out”.

V tem primeru v datoteko najprej zapišemo nekaj vsebine. Nato podatke iz datoteke preberemo in natisnemo na monitor.

#include
#include
#include
uporaba imenskega prostora std;
int main ()

fstream myFile_Handler;
niz myLine;
// Datoteka odprta
myFile_Handler.odpri ("Datoteka_1.txt ", ios :: in | ios :: out);
// Preverite, ali se je datoteka odprla
če (!myFile_Handler)

cout << "File did not open!";
izhod (1);

// Zapiši v datoteko
myFile_Handler << "1. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;
myFile_Handler.iskati (ios :: beg);
// Preberite datoteko
if (myFile_Handler.is_open ())

// Nadaljujte z branjem datoteke
medtem ko (getline (myFile_Handler, myLine))

// natisnemo vrstico na standardni izhod
cout << myLine << endl;

// Zapiranje datoteke
myFile_Handler.blizu ();

drugače

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

myFile_Handler.zapri ();
vrnitev 0;

Zdaj bomo sestavili in izvedli program.

5. primer: branje in pisanje v binarno datoteko

V tem primeru bomo razglasili razred in nato objekt zapisali v binarno datoteko. Za poenostavitev tega primera smo razglasili razred Employee z javno spremenljivko emp_id. Nato bomo prebrali binarno datoteko in izpis natisnili na monitor.

#include
#include
uporaba imenskega prostora std;
razred Zaposlen

javno:
int emp_id;
;
int main ()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Zaposleni empObj_W, empObj_R;
// Datoteka odprta
binOutFile_Handler.odprto ("Zaposleni.dat ", ios :: out | ios :: binarno);
// Preverite, ali se je datoteka odprla
če (!binOutFile_Handler)

cout << "File did not open!";
izhod (1);

// Inicializacija empObj_W
empObj_W.emp_id = 1512;
// Zapiši v datoteko
binOutFile_Handler.write ((char *) & empObj_W, sizeof (Zaposleni));
binOutFile_Handler.blizu ();
če (!binOutFile_Handler.dobro ())

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

// Zdaj pa preberimo zaposlenega.dat
binInFile_Handler.odprto ("Zaposleni.dat ", ios :: in | ios :: binarno);
// Preverite, ali se je datoteka odprla
če (!binInFile_Handler)

cout << "File did not open!";
izhod (3);

// Preberite vsebino binarne datoteke
binInFile_Handler.read ((char *) & empObj_R, sizeof (Zaposleni));
binInFile_Handler.zapri ();
če (!binInFile_Handler.dobro ())

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

// Natisne izhodne podatke empObj_R
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
vrnitev 0;

Zaključek

Datoteke se v glavnem uporabljajo za shranjevanje podatkov in igrajo pomembno vlogo v resničnem programiranju. V tem članku smo z več primeri pokazali, kako uporabljati različne datotečne operacije s programskim jezikom C ++. Poleg tega smo vam pokazali, kako berete in pišete podatke tako v besedilne datoteke kot v binarne datoteke.

Microsoft Sculpt Touch Wireless Mouse Review
Pred kratkim sem prebral o Microsoftov kiparski dotik brezžično miško in se odločil za nakup. Potem ko sem ga nekaj časa uporabljal, sem se odločil, d...
Zaslonska sledilna ploščica in kazalec miške AppyMouse za tablične računalnike Windows
Uporabniki tabličnih računalnikov pogosto zgrešijo miškin kazalec, še posebej kadar običajno uporabljajo prenosne računalnike. Pametni telefoni in tab...
Srednji gumb miške ne deluje v sistemu Windows 10
The srednji gumb miške vam pomaga, da se pomikate po dolgih spletnih straneh in zaslonih z veliko podatkov. Če se to ustavi, boste na koncu uporabili ...