Kurz algoritmizace a programování v jazyce C Lekce č. 11: Práce se soubory Bc. Radek Libovický
Logická hádanka Jedna topinka se smaží deset minut - pět minut z každé strany. Na pánev se vejdou dva chleby vedle sebe. Za jak dlouho nejrychleji osmažíte na jedné pánvi tři topinky? Odpověď na konci prezentace
Datový typ FILE Datový typ FILE: Zápis definování datové proměnné: Slouží pro práci se souborem Zápis definování datové proměnné: FILE *fr; pro čtení ze souboru (anj. read) FILE *fw; pro zápis do souboru (anj. write)
Otevření souboru Když jsou již nadefinované proměnné pro práci se soubory, je nutné k nim přiřadit adresu souboru a soubor otevřít Zápis pro otevření souboru: fr=fopen(“adresa_souboru“,“r“); fw=fopen(“adresa_souboru“,“w“); Funkce fopen má dva parametry, první je celý název souboru včetně adresy, v případě, že se nachází soubor ve shodném adresáři jako program, pak stačí jen název souboru. Druhý parametr označuje, co se se souborem bude dělat (r – číst, w – zapisovat) Pokud se při otevírání zjistí, že cílový soubor pro zápis neexistuje, bude touto funkcí vytvořen
výpis a Zápis do souboru Pro zapisování a vypisování ze souboru dostatečně postačí: Výpis: znak=getc(fr); //načte znak ze souboru pro čtení Zápis: putc(znak,fw); //zapíše znak do souboru pro zápis Tyto funkce se používají ve spojení s cyklem while – Např. načítej znaky tak dlouho, dokud znak nebude EOF (end of file)
Zavření souboru Když už je veškerá práce se soubory hotová, je ještě nutné používané soubory uzavřít Zápis pro uzavření souboru: fclose(fr); // uzavření souboru, ze kterého se četlo fclose(fw); // uzavření souboru, do kterého se zapisovalo Pokud programátor zapomene tyto soubory uzavřít, mohly by se vyskytnout komplikace při budoucí práci s těmito soubory.
Odpověď na logickou hádanku Za 15 minut. Po pěti minutách jednu topinku sundáte a druhou otočíte. Po deseti minutách je jedna hotová a dvě je třeba osmažit ještě z jedné strany.