You are on page 1of 2

Práca so súbormi

Problematika práce so súbormi v C++ je pomerne rozsiahla a náročná. My sa naučíme pracovať iba
s jednoduchými súbormi, do ktorých budeme ukladať buď číselné hodnoty alebo text. A takisto z nich
tieto údaje získavať. Nebudeme pracovať s tzv. binárnymi súbormi.
Vstupy a výstupy (skrátene I/O) sú v jazyku C++ realizované cez tzv. prúdy (streams). S jednou
z knižníc, ktorá zabezpečuje I/O operácie sme sa už zoznámili – je to knižnica iostream.
Pre prácu so súbormi sa ponúkajú ďalšie dve: ifstream a ofstream. Obe sa dajú spoločne pripojiť
cez hlavičkový súbor fstream: #include <fstream>

. Výstup údajov do súboru


Výstup údajov do súboru si ukážeme na konkrétnom príklade – pozri Prog0028.cpp:
− najskôr si vytvoríme inštanciu objektu ofstream a nazveme ju vystup . Do zátvorky
napíšeme názov súboru, ktorý chceme vytvoriť:
ofstream vystup(test.txt);
− odteraz je vystup objekt, s ktorým môžeme pracovať podobne ako s cout
vystup << “Tato veta sa zapise priamo do suboru\n“;
− ak sme do súboru vložili všetko, čo sme chceli, zatvoríme ho nasledovne:
vystup.close();

Ak chceme zapisovať na koniec už existujúceho súboru, tak použijeme argument ios::app


ofstream vypis(zapis.txt, ios::app); //spustite si program Prog0029.cpp
//viackrát za sebou

Program Prog0030.cpp demonštruje výpis čísel do súboru.

Vstup údajov zo súboru


Pri vstupe údajov zo súboru je potrebné aby súbor existoval. Aj vstup údajov si ukážeme na
konkrétnom príklade – pozri Prog0031.cpp
− najskôr si vytvoríme inštanciu objektu ifstream a nazveme ju vstup . Do zátvorky napíšeme
názov súboru, ktorý chceme otvoriť a čítať:
ifstream vstup(test.txt);

1
− odteraz je vstup objekt, s ktorým môžeme pracovať podobne ako s cin
getline(vstup,veta); //predpokladáme, že veta je reťazec, deklar. v programe
− súbor zatvoríme nasledovne:
vystup.close();

V predchádzajúcom príklade bol načítaný jeden celý riadok zo súboru. Ak chceme čítať
viacriadkový súbor, je potrebné to robiť pomocou cyklu, načítavaním jedného znaku za druhým
pomocou: vstup.get(znak); //pozri program Prog0032.cpp

Program Prog0033.cpp demonštruje čítanie čísel zo súboru.

Všetky spomínané programy Prog0028.cpp až Prog0032.cpp sú na stránke zbalené v súbore


P28_P33.rar. Všetky programy si dajte vytlačiť a nalepte si ich do zošita!

You might also like