Zadatak: Napisati program za kopiranje sadržaja jednog tekstualnog fajla u drugi tekstualni fajl.

Rešenje:

Da bismo mogli da uradimo zadatak, potrebno je da na početku imamo tekstualni fajl na računaru, i da u tom fajlu ima neki tekst - da nije prazan. Najjednostavnije je da se pomoću MyComputer pozicionira u folder projekta i tamo da se pomoću desnog klika mišem kreira novi tekstualni dokument pod nazivom citaj (nemojte na kraju dodavati ".txt" jer će ga sistema dodati automatski kod ove vrste kreiranja fajla)

slika koda koji treba prekucati

Na početku smo deklarisali dva pokazivača na FILE - to su pf1 i pf2. Sem njih, biće nam potrebna promenljiva u koju ćemo smeštati karaktere (ch) i promenljiva u koju ćemo smestiti informaciju o grešci ako je ima (greska).

Otvaramo fajl citaj.txt u liniji 8, u režimu za čitanje. Povratna vrednost  koju daje poziv ove funkcije je adresa početka fajla, ako je otvaranje fajla uspešno, a ako nije, onda se dobija NULL.

Zbog toga se proverava da li je pf jednako NULL - ako jeste to onda znači da otvaranje fajla nije uspelo - najčešće iz razloga što verovatno ne postoji taj fajl na navedenoj lokaciji. (Nemojte da se zavaravate - lokacija JESTE navedena, a to je isti folder u kojem se nalaze i ostali fajlovi u  našem projektu). Ako nema fajla, pf1 će biti NULL i ispisuje se poruka o grešci i izlazi iz programa.

Ako je fajl uspešno otvoren, pf1 pokazuje na fajl, i otvara se fajl u koji treba da se prekopira onaj prvi, slovo po slovo. Pošto se otvara u režimu za pisanje, ako ne postoji, kreirat će se, a ako postoji, izbrisaće se njegov sadržaj. Nakon toga se u pf2 nalazi pokazivač na fajl upis.txt. (- linija 14)

linije15-16: U while petlji se čita slovo po slovo iz prvog fajla sve dok se ne stigne do kraja fajla (EOF).  Svako pročitano slovo se upisuje u fajl na koji pokazuje pf2.

Nakon toga zatvaramo fajlove i ispisujemo poruku o uspešnom kreiranju fajla.

Ne ispisujemo ništa više na ekranu.

Da biste proverili da li se kreirao fajl sa nazivom upis.txt, proverite u projektnom folderu.

prikaz kako to izgleda

Ako otvorite fajl upis.txt, videćete da je u njemu isti sadržaj kao u citaj.txt.

Varijacija na temu:

Ako ne želite da fajlove čuvate pored programa, tada treba da navedete apsolutnu putanju do njih. Primer: fajlovi se nalaze u C:\proba. Tada ćemo umesto samo imena fajla pisati uz njega i putanju kako do fajla doći: "C:\\proba\\citaj.txt" i "C:\\proba\\upis.txt"


Last modified: Tuesday, 9 April 2019, 10:06 PM