UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.

Slides:



Advertisements
Hasonló előadás
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Advertisements

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
Spanning Tree Protocol
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Cells(sor száma, oszlop száma)
Hibakezelés és Tesztelés a Visual Studio.NET-ben
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Fájlkezelés, IO Kivételkezelés Belső osztályok
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
2. Gyakorlat Követelmények / „C” ismétlés
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 8. Gyakorlat Operator overloading II.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 5. Gyakorlat Öröklődés, virtuális függvények,
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Address Resolution Protocol (ARP)
Tömbök ismétlés Osztályok Java-ban Garbage collection
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Az Input-Output használata Az input-outputot a nyelv előredefiniált csomagokon keresztül valósítja meg. Mindegyik csomag az Ada alapcsomag gyereke.
C++ alapok, harmadik óra
Állomány kezelés.
Kivételkezelés.
Kivételkezelés a C++ nyelvben Bevezetés
Operációs rendszerek gyakorlat 9. Gyakorlat Vakulya Gergely.
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Programozási nyelvek összehasonlító elemzése
Grafikus tervezőrendszerek programozása 8. előadás.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Fájlkezelés Pascalban
A PHP 5 újdonságai Az OOP terén. Miről lesz szó? Osztályok kezelése – Új direktívák – Konstruktor – Destruktor Interfészek Kivételkezelés.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Input – output, adatfolyamok
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
Java programozási nyelv Filekezelés
Java programozási nyelv Adatbekérés konzolról
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Egyenesvonalú (lineáris) adatszerkezetek
Programozás III KIVÉTEL.
ProgramozásProgramozás célja hosszabb számítások elvégzése ill. kiíratása akkor érdemes programot írni, ha sok számolni való van illetve ha ugyanazt az.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 3. Gyakorlat SSADM gyakorlás.
A 2. géptermi beszámoló VBA anyagának összefoglalása
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. Követelmények.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Fájlkezelés Programozási tételek
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Kivételek kezelése, ellenőrzött adatbevitel Czigléczky Gábor 2009.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás alapjai 1. Gyakorlat Követelmények, regisztráció,
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED D epartment of Software Engineering Vállalati információs rendszerek.
Gépészeti informatika (BMEGEMIBXGI)
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Fájlkezelés C++ alatt – péntek Jordán Sándor.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Előadás másolata:

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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: #include  Beolvasáshoz: ifstream  Íráshoz: ofstream

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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)

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 ( const char * filename, ios_base::openmode mode = 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)

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ofstream  Példányosítás írásra: ofstream out; out.open( fileName );  VAGY ofstream out( 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);

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ofstream  Példányosítás hozzáfűzésre: ofstream out; out.open( fileName, ofstream::app );  VAGY ofstream out( fileName, ofstream::app );

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ofstream  Használat: int a = 5; double b = 3.4; char* str = ”dfnsknfjksd”; ofstream out( ”out.txt” ); out << a << b << str << endl; out.close(); //le kell zárni

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 ( const char * filename, ios_base::openmode mode = 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)

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ifstream  Példányosítás olvasásra: ifstream in; in.open( filename );  VAGY ifstream in( filename );

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS ifstream  Használat: ifstream in( ”input.txt” ); int a; double b; in >> a >> b; in.close();

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egész sor beolvasása  ifstream in( ”input.txt” ); char input[ 256 ]; in.getline( input, 256 );  #include ifstream in( ”input.txt” ); string input; getline( in, input );

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Közös függvények  is_open() //megadja, hogy nyitva van-e file  open(const char * filename, ios_base::openmode mode = ios_base::out ) //megnyitja a file-t (ofstream)  open(const char * 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

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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.

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kivételkezelés alapjai  Példa (kivétel dobása): const int DivideByZero = 10;//a hiba kódja //függvény, mely eloszt két számot double divide(double x, double y) { if(y==0) { //ha az osztó 0 throw DivideByZero; //dob egy kivételt (itt egy 10-es kódú kivételt), és a függvénynek meg is áll a futása } return x/y; //ha nem volt kivétel, végrehajtja az osztást }

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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<<"Divide by zero error"; }