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.