1 / 15

Programozás II.

Programozás II. 9. Gyakorlat Alap file műveletek. fstream. A C++ nyelvben a file műveleteket is megvalósíthatjuk Stream-ek segítségével Így az alap file műveletek egyszerűen használhatóak Include-olni kell az fstream header-t , mely tartalmazza az alapvető műveleteket:

wanda
Download Presentation

Programozás II.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programozás II. 9. GyakorlatAlap file műveletek

  2. fstream A C++ nyelvben a file műveleteket is megvalósíthatjuk Stream-ek segítségével Így az alap file műveletek egyszerűen használhatóak Include-olni kell az fstreamheader-t, mely tartalmazza az alapvető műveleteket: #include <fstream> Beolvasáshoz: ifstream Íráshoz: ofstream

  3. Alapvető megnyitási módok in : a fájlt olvasásra nyitjuk meg (fstream esetében ez az alapértelmezett) out : a fájlt írásra nyitjuk meg (ofstream esetében ez az alapértelmezett) app : hozzáfűzésre nyitjuk meg (append)

  4. ofstream Az ofstream osztály segítségével file-ba tudunk adatokat írni. Konstruktorai: ofstream( ); //default konstruktor, a fájl megnyitását később kell végrehajtani ofstream( constchar * filename, ios_base::openmodemode = ios_base::out ); //konstruktor első paramétere a fájl elérési útja, 2. paramétere a megnyitás módja (alapértelmezett: out)

  5. ofstream Példányosítás írásra: ofstreamout; out.open( fileName ); VAGY ofstreamout( fileName); ofstream alapértelmezetten írásra nyitja meg a fájlokat. A fenti használat ugyanaz, mintha így hoztuk volna létre: ofstream out( fileName, ofstream::out);

  6. ofstream Példányosítás hozzáfűzésre: ofstreamout; out.open( fileName, ofstream::app ); VAGY ofstreamout( fileName, ofstream::app );

  7. ofstream Használat: int a = 5; doubleb = 3.4; char* str = ”dfnsknfjksd”; ofstreamout( ”out.txt” ); out << a << b << str << endl; out.close(); //le kell zárni

  8. ifstream Az ifstream segítségével file-ból tudunk olvasni. Konstruktorai: ifstream ( ); //default konstruktor, a fájl megnyitását később kell végrehajtani ifstream( constchar * filename, ios_base::openmodemode = ios_base::in); //konstruktor első paramétere a fájl elérési útja, 2. paramétere a megnyitás módja (alapértelmezett: in)

  9. ifstream Példányosítás olvasásra: ifstreamin; in.open( filename ); VAGY ifstreamin( filename );

  10. ifstream Használat: ifstreamin( ”input.txt” ); inta; double b; in >> a >> b; in.close();

  11. Egész sor beolvasása ifstream in( ”input.txt” ); char input[ 256 ]; in.getline( input, 256 ); #include<string> ifstreamin( ”input.txt” ); string input; getline( in, input );

  12. Közös függvények is_open() //megadja, hogynyitva van-e file open(constchar * filename, ios_base::openmode mode = ios_base::out ) //megnyitja a file-t (ofstream) open(constchar * filename, ios_base::openmode mode = ios_base::in ) //megnyitja a file-t (ifstream) close() //lezárja a file-t eof() //true, ha elértük a file végét

  13. Kivételkezelés alapjai Az olyan kódrészleteknél, melyek „hibát” eredményezhetnek, érdemes lehet try-catch blokkokat használnunk. A „hibát okozó”, és az azzal közvetlen összefüggésben lévő program részletet tesszük try blokkba.Ekkor, ha hiba történik, lehetőség van egy exception-t (kivételt) dobni (throw). Ezt a kivételt „kaphatjuk el”, és kezelhetjük a catch blokkban.

  14. Kivételkezelés alapjai Példa (kivétel dobása): constint DivideByZero = 10; //a hiba kódja //függvény, mely eloszt két számot doubledivide(double x, double y) { if(y==0) { //ha az osztó 0 throwDivideByZero; //dob egy kivételt (itt egy 10-es kódú kivételt), és a függvénynek meg is áll a futása } returnx/y; //ha nem volt kivétel, végrehajtja az osztást }

  15. Kivételkezelés alapjai Példa (kivétel elkapása): try { //try blokkba rakjuk az osztás függvényt, hiszen dobhat hibát (előző dia…) divide(10, 0); } catch(int i) { //ha dobott egy int típusú kivételt, azt elkapjuk if(i==DivideByZero) { //ha a kivétel ilyen típusú volt, kiírjuk az errort cerr<<"Dividebyzeroerror"; } }

More Related