Seminární skupina PB173 Tématicky zaměřený vývoj aplikací v jazyce C/C++
Cvičenie 5: I/O zariadení a medzivláknová komunikácia
Teoretická časť:
- Otváranie a zatváranie zariadení
- Funkcia CreateFile a jej možnosti
- Práca so súbormi
- Synchrónne I/O zariadení
- Základy asynchrónnych I/O zariadení
Podporný učebný text:
Slidy k prednáške:
Domáca úloha č.5: (termín odovzdania: 7.11.2010 vč.)
3 body + bonus
Vytvorte interaktívnu konzolovú aplikáciu.
- Aplikácia po spustení vyzve užívateľa, aby zadal cestu k nejakému adresáru. Po zadaní cesty aplikácia na konzolu vypíše obsah adresára vo forme: poradové_číslo_súboru, názov_súboru, veľkosť_súboru. Ak adresár neexistuje, poprosí užívateľa o zadanie novej cesty s ukážkou, ako má daná cesta vyzerať. Ak sa užívateľovi 3x nepodarí zadať validnú cestu, aplikácia vypíše na konzolu hlášku a skončí.
- Následne aplikácia vyzve užívateľa, aby zadal poradové číslo súboru, ktorého obsah chce vypísať na konzolu a obsah vypíše (bonusový bod za použitie asynchrónneho prístupu). Ak užívateľ nezadá validné poradové číslo 3x po sebe, aplikácia vypíše hlášku a skončí.
- Následne sa aplikácia spýta užívateľa, ktorý z daných súborov si želá zmazať (opäť zadaním poradového čísla). Súbor sa zmaže - ak sa to z nejakého dôvodu nepodarí, na konzolu sa vypíše dôvod. Ak užívateľ nezadá validné poradové číslo 3x po sebe, aplikácia vypíše hlášku a skončí.
- Aplikácia sa spýta užívateľa, ktorý súbor chce kopírovať, po zadaní poradového čísla súboru si vypýta cestu, kam má byť súbor skopírovaný a súbor prekopíruje. Ak užívateľ nezadá validné poradové číslo 3x po sebe, aplikácia vypíše hlášku a skončí. To isté platí pre validnú cestu k adresáru, kam má byť súbor prekopírovaný. Ak sa súbor nepodarí prekopírovať, na konzolu sa vypíše dôvod.
V celom programe dôkladne dbajte na ošetrenie chýb(error) a uvoľnenie zdrojov (final). Používajte, prosím, logovanie.