CS++
  • Informatika leckék 9-12 osztályosoknak
  • 9. Osztály
    • Bevezetés
    • Az algoritmusok leírásának módszerei
    • Az algoritmusok leírásának elvei
    • Műveletek egész típusú adatokkal
    • Műveletek egész típusú számokkal
    • Műveletek karakterlánc típusú adatokkal
    • Műveletek logikai típusú adatokkal
    • Értékadó műveletek
    • A strukturált programozás alapjai
    • Elemi algoritmusok (pszeudokód)
    • Elemi algoritmusok (C++-ban megírva)
  • 10. osztály
    • C++ programozás a Code::Blocks IDE-ben!
    • A C++ program felépítése, adatok leírása és feldolgozása
    • A C++ nyelv karakterkészlete
    • Adattípusok C++-ban
    • Műveletek C++-ban
    • Operátorok
    • Inkrementáló és dekrementáló műveletek
    • Feltételes műveletek
    • Matematikai műveletek
    • Adatok beolvasása billentyűzetről és kiírása képernyőre
    • Döntések (elágazások, szelekciók)
    • A switch utasítás
    • A for utasítás (számlálós ciklus)
    • A while utasítás
    • A do ... while ciklus
    • Szöveges állományok
    • Egydimenziós tömbök
    • Egydimenziós tömb feltöltése billentyűzetről
    • Egydimenziós tömb kiíratása képernyőre
    • Kétdimenziós tömbök
    • Kétdimenziós tömbök feltöltése billentyüzetről
    • Kétdimenziós tömbök kiíratása képernyőre
  • Credit
    • Logo
Powered by GitBook
On this page
  • Az állomány megnyitása
  • Létező (bemeneti) állomány megnyitása olvasás céljából
  • Új (kimeneti) állomány megnyitása
  • Írás és olvasás állományokból
  • A fájlok bezárása

Was this helpful?

  1. 10. osztály

Szöveges állományok

Az eddigi munkánk során az értékeket billentyűzetről vittük be és egy bizonyos ablakba kaptuk az eredményt, így a beírt és kiírt értékek elvesznek. Ezt a problémát kiküszöbölhetjük úgy, hogy a be- és kimeneti adatokat a szöveges állományokból vesszük ki, illetve szöveges állományokba íratjuk ki, így a későbbiek során bármikor elérhetőek lesznek.

A szöveges állományok használata akkor is nagyon előnyös, amikor egy programot többször is leszeretnénk futtatni ugyanazokra az értékekre. Ebben az esetben ,ha bemeneti adatok egy szöveges állományban vannak tárolva, akkor a program automatikusan onnan olvassa ki a bemeneti értékeket és nem szükséges minden futtatáskor nekünk bekérni.

A szöveges állományok létrehozhatók egy egyszerű szövegszerkesztővel (Jegyzettömb, Notepad++, Sublime Text, ...), utána meg egyszerűen módosíthatók. A szöveges állományok kiterjesztése, a .txt-n kívül, megváltoztathatóak a .in, .out, .stb... kifejezésekre.

A szöveges állományokat csak szekvenciálisan lehet használni, ami azt jelenti, hogy a szöveges állomány adatait csak egymás utáni sorrendben lehet elérni (csak az állomány elejétől a vége fele tudunk olvasni, mindig a legelső karaktert tudjuk elérni elsőként, tehát nem lehet az állományt középről olvasni egyből).

Az állományok kezelése 3 nagy lépésre osztható:

  • Az állomány megnyitása

  • Az állomány feldolgozása

  • Az állomány bezárása

Az állomány megnyitása

Ahhoz, hogy állományokkal dolgozni tudjunk, ahhoz be kell építsünk az "fstream" nevű fejlécfájlt.

#include < fstream >

Állományok megnyitása során figyelembe kell vennünk azt, hogy meglévő állományt, vagy esetleg új állományt akarunk megnyitni, ennek függvényében 3 esetet különböztetünk meg:

  • Létező (bemeneti) állomány megnyitása olvasás céljából

  • Új (kimeneti) állomány megnyitása

  • A fájlok bezárása

Létező (bemeneti) állomány megnyitása olvasás céljából

Fájlból olvasáshoz először is létre kell hozni egy bemeneti adatállomány típusú fájlváltozót, ezután meg kell nyitni az állományt. Ekkor jöhet az állomány hozzárendelése a fájl változóhoz. Megnyitás után az állománymutató az állomány elején fog elhelyezkedni.

ifstream FÁJLVÁLTOZÓ;
FÁJLVÁTOZÓ.open( "FÁJLNÉV.KITERJESZTÉS" );

Ha az állomány nem a program aktuális könyvtárában van, akkor a fájlnév előtt meg kell adni az elérési útvonalat is.

Megjegyzések

A deklarálást és megnyitást összevonhatjuk egy sorba.

ifstream FÁJLVÁLTOZÓ( "FÁJLNÉV.KITERJESZTÉS" );

Új (kimeneti) állomány megnyitása

Új állományt csak akkor tudunk létrehozni, ha először deklarálunk egy kimeneti adatállomány típusú változót, majd társítjuk egy fizikai állománynévhez, mely létre fog jönni és megnyitódik.

ofstream FÁJLVÁLTOZÓ;
FÁJLVÁLTOZÓ.open( "FÁJLNÉV.KITERJESZTÉS" );

Megjegyzések

Vigyáznunk kell ezzel az utasítással, hiszen ha a meglévő állományt nyitjuk meg újként akkor az állomány tartalma elveszik.

Írás és olvasás állományokból

Állományból beolvasni a standard beolvasáshoz hasonlóan lehet. Ha másképpen nem állítjuk, akkor szóköztől szóközig olvas a program és ezek az adatok kerülnek a megadott változókba.

FÁJLVÁLTOZÓ >> VÁLTOZÓ_1 >> VÁLTOZÓ_2 >> ... >> VÁLTOZÓ_n;

Állományba írni szintén a standard kiíratáshoz hasonlóan lehet.

FÁJLVÁLTOZÓ << KIFEJEZÉS_1 << KIFEJEZÉS_2 << ... << KIFEJEZÉS_n (<< endl);

A fájlok bezárása

A megnyitott fájlokat a következőképpen tudjuk bezárni:

FÁJLVÁLTOZÓ.close();

Megjegyzések

A fájlokat kötelezően be kell zárni a feldolgozás után.

PreviousA do ... while ciklusNextEgydimenziós tömbök

Last updated 6 years ago

Was this helpful?