>> SPEAKER 1: Pojďme napsat program, který vyzve uživatele k zadání jména a
domy tří studentů.
Ale spíše než jen tisknout jejich Jména a domy k obrazovce, pojďme
místo uložení těchto informací na disk.
Jinými slovy, pojďme vytvořit, řekněme, CSV soubor, na čárkou oddělených hodnot,
což je vlastně jen textový soubor, který programy, jako je Excel nebo čísla
můžete otevřít, a účinně zachránit ty, Jména a domy trvale tak, aby
my je můžete prohlédnout později.
>> Chcete-li tak učinit, pojďme se nejprve podívat na některé často používaný kód, který jsem
začal již.
Všimněte si, že první mezi záhlaví nahoru nahoru je nyní standard lib.h, které
se stane, že některé funkce související na soubor I / O, vstup a výstup souborů.
Všimněte si, že jsem také prohlásil, konstanta s názvem STUDENTI -
ve všech čepice - jehož hodnota je pevný kódované jako tři.
Všimněte si nyní, že vnitřek můj hlavní Program, jsem prohlásil řadu
velikost tři použití této konstanty zvané STUDENTI každý z členů, jejichž je
typ studentů.
>> Připomeňme si nyní, že student, budeme definovat jak mít název a dům oba
které jsou řetězce dle této Prohlášení pokyn, dot h.
Nyní zpět v structs1.c, všimněte si, že jsem se pro smyčce tady, že se to
přecházet od nuly do tří.
Bude to mě výzva pro studenta Název a student dům
Znovu a znovu a znovu.
>> Pak se v dolní části tohoto programu, Všimněte si, že mám jiný pro smyčce
že se to uvolnit i-tého studenta Název a i-tého studenta dům
podobně konstruovány smyčky.
Chcete-li mít jistotu, mohli bychom spojit ty smyčky na jen jeden, ale chtěl jsem, aby
mají některé odlišné segmenty kódu kvůli diskuzi zde.
>> Nyní se mezi ty, pro smyčky, pojďme ve skutečnosti mají jiný, a tenhle je
Smyslem života je skutečně ušetřit všechny z těchto jmen a domů, které jsou
V současné době v paměti RAM na disk ve formě z čárkou oddělených hodnot.
Chcete-li tak učinit, budeme používat Tři nové funkce -
F otevřená, F printf a F zavřít, který otevření souboru, tisk do souboru, a
zavřete soubor.
Můžeme je použít takto.
>> FILE, ve všech velkých písmenech, což je poněkud zvědavost v C, soubor dostane fopen
citace konec citátu a nyní název soubor, řekněme, students.CSV, ale nešlo
říkají nejvíce cokoliv, čárka a teď jsem bude specifikovat jedno w uvnitř
v uvozovkách.
W, jak jste si mohl myslet už, Znamená to, že fopen by se měla otevřít tento soubor
volal Students.CSV pro psaní, takže že můžeme skutečně ušetřit nějaký
obsah do ní.
>> Pojďme Další zkontrolovat, zda soubor není rovno null.
Protože jestli je to, co má asi pokazilo v tomto případě jsme se
Neměli byste pokračovat, aby se pokusili tisknout cokoliv na ni.
Ale pokud to není null, pak uvnitř složené závorky Jdu k iteraci
od i rovná 0 až na STUDENTY, a budu
zvýšit i na každé iteraci.
A uvnitř této smyčky, budu fprintf tak, aby tisk do souboru -
konkrétně ten Už jsem otevřel -
řetězec, který vypadá takto% s,% s zpětné lomítko n zavřít citace.
>> A teď chci připojit ke každému tyto zástupné symboly skutečné hodnoty
jména studenta a dům pomocí operátoru tečka.
Studenti držák i.name, studenti Držák i.house zavřít závorka
středník.
Nyní pod tímto pro smyčce, já jsem prostě Zavolám fclose souboru tak, aby
nakonec zavřete soubor.
>> Teď, když jsem spustit tento program, měl bych to vlastně nic vidět na
obrazovce, ale měl jsem po spuštění tento program soubor s názvem
Students.CSV ve stejném adresáři, který I spustit příkaz v tom, že by
obsahuje čárku oddělený seznam hodnot.
Pojďme se podívat.
>> Udělat structs 1. / Structs1 studenta jméno, řekněme David,
že bude žít v Mather.
Jméno studenta, řekněme, Lauren, ona bude žít v Leverett.
Jméno studenta, řekněme, Rob, že bude žít v Kirkland.
Nyní, opět, jak se očekávalo, se nic neobjeví aby se stalo, ale dovolte mi, abych
pokračovat na příkazovém řádku a typu g upravit students.CSV v naději, že
že soubor skutečně existuje.
>> Gedit students.CSV ENTER, a opravdu, Všimněte si, že soubor, který obsahuje pouze
textu, ale text oddělený čárkami pro každé pole, skutečně existuje.
A když jsme používali, ne CS50 zařízení, ale známější Mac nebo
PC, ukazuje se, že bychom mohli opravdu otevřít tento soubor CSV s více
seznámit program, jako je Excel nebo čísel.