2 00:00:00,000 --> 00:00:02,470 >> SPEAKER 1: Poďme napísať program, ktorý vyzve užívateľa na zadanie mena a 3 00:00:02,470 --> 00:00:03,990 domy troch študentov. 4 00:00:03,990 --> 00:00:07,300 Ale skôr než len tlačiť ich Mená a domy na obrazovke, poďme 5 00:00:07,300 --> 00:00:09,660 miesto uloženia týchto informácií na disk. 6 00:00:09,660 --> 00:00:14,530 Inými slovami, poďme vytvoriť, povedzme, CSV súbor, na čiarkou oddelených hodnôt, 7 00:00:14,530 --> 00:00:17,720 čo je vlastne len textový súbor, ktorý programy, ako je Excel alebo čísla 8 00:00:17,720 --> 00:00:21,690 môžete otvoriť, a účinne zachrániť tých, Mená a domy trvalo tak, aby 9 00:00:21,690 --> 00:00:23,220 my ich mohli pozrieť neskôr. 10 00:00:23,220 --> 00:00:25,960 >> Ak chcete tak urobiť, poďme sa najprv pozrieť na niektoré často používaný kód, ktorý som 11 00:00:25,960 --> 00:00:27,650 začal už. 12 00:00:27,650 --> 00:00:32,380 Všimnite si, že prvý medzi záhlavia hore hore je teraz štandard lib.h, ktoré 13 00:00:32,380 --> 00:00:36,710 sa stane, že niektoré funkcie súvisiace na súbor I / O, vstup a výstup súborov. 14 00:00:36,710 --> 00:00:39,560 Všimnite si, že som tiež vyhlásil, konštanta s názvom ŠTUDENTI - 15 00:00:39,560 --> 00:00:42,380 vo všetkých čiapky - ktorého hodnota je pevný kódované ako tri. 16 00:00:42,380 --> 00:00:45,820 Všimnite si teraz, že vnútro môj hlavný Program, som vyhlásil rad 17 00:00:45,820 --> 00:00:50,270 veľkosť tri použitie tejto konštanty zvanej ŠTUDENTI každý z členov, ktorých je 18 00:00:50,270 --> 00:00:51,650 typ študentov. 19 00:00:51,650 --> 00:00:56,150 >> Pripomeňme si teraz, že študent, budeme definovať ako mať názov a dom obaja 20 00:00:56,150 --> 00:01:00,410 ktoré sú reťazca podľa tejto Vyhlásenie pokyn, dot h 21 00:01:00,410 --> 00:01:04,680 Teraz späť v structs1.c, všimnite si, že som sa pre sláčiky tu, že sa to 22 00:01:04,680 --> 00:01:06,750 prechádzať od nuly do troch. 23 00:01:06,750 --> 00:01:10,020 Bude to ma výzva pre študenta Názov a študent dom 24 00:01:10,020 --> 00:01:12,310 Znova a znova a znova. 25 00:01:12,310 --> 00:01:15,620 >> Potom sa v dolnej časti tohto programu, Všimnite si, že mám iný pre sláčiky 26 00:01:15,620 --> 00:01:19,970 že sa to uvoľniť i-teho študenta Názov a i-teho študenta dom 27 00:01:19,970 --> 00:01:21,570 podobne konštruované slučky. 28 00:01:21,570 --> 00:01:24,480 Ak chcete mať istotu, mohli by sme spojiť tie slučky na len jeden, ale chcel som, aby 29 00:01:24,480 --> 00:01:28,180 majú niektoré odlišné segmenty kódu kvôli diskusiu tu. 30 00:01:28,180 --> 00:01:31,920 >> Teraz sa medzi tie, pre slučky, poďme v skutočnosti majú iný, a tento je 31 00:01:31,920 --> 00:01:35,210 Zmyslom života je skutočne ušetriť všetky z týchto mien a domov, ktoré sú 32 00:01:35,210 --> 00:01:39,810 V súčasnej dobe v pamäti RAM na disk vo forme z čiarkou oddelených hodnôt. 33 00:01:39,810 --> 00:01:42,080 Ak chcete tak urobiť, budeme používať Tri nové funkcie - 34 00:01:42,080 --> 00:01:47,450 F otvorená, F printf a F zavrieť, ktorý otvorenie súboru, tlač do súboru, a 35 00:01:47,450 --> 00:01:48,440 zatvorte súbor. 36 00:01:48,440 --> 00:01:49,690 Môžeme ich použiť takto. 37 00:01:49,690 --> 00:01:52,110 38 00:01:52,110 --> 00:01:58,240 >> FILE, vo všetkých veľkých písmenách, čo je trochu zvedavosť v C, súbor dostane fopen 39 00:01:58,240 --> 00:02:03,020 citácie koniec citátu a teraz názov súbor, povedzme, students.CSV, ale nešlo 40 00:02:03,020 --> 00:02:08,150 hovoria najviac čokoľvek, čiarka a teraz som bude špecifikovať jedno w vnútri 41 00:02:08,150 --> 00:02:09,390 v úvodzovkách. 42 00:02:09,390 --> 00:02:13,290 W, ako ste si mohol myslieť už, Znamená to, že fopen by sa mala otvoriť tento súbor 43 00:02:13,290 --> 00:02:17,360 volal Students.CSV pre písanie, takže že môžeme skutočne ušetriť nejaký 44 00:02:17,360 --> 00:02:19,370 obsah do nej. 45 00:02:19,370 --> 00:02:23,080 >> Poďme Ďalšie skontrolovať, či súbor nie je rovné null. 46 00:02:23,080 --> 00:02:25,860 Pretože ak je to, čo má asi pokazilo v tomto prípade sme sa 47 00:02:25,860 --> 00:02:28,340 Nemali by ste pokračovať, aby sa pokúsili tlačiť čokoľvek na ňu. 48 00:02:28,340 --> 00:02:33,400 Ale ak to nie je null, potom vo vnútri zložené zátvorky Idem k iterácii 49 00:02:33,400 --> 00:02:38,030 od i rovná 0 až na ŠTUDENTOV, a budem 50 00:02:38,030 --> 00:02:40,180 zvýšiť aj na každej iterácii. 51 00:02:40,180 --> 00:02:45,750 A vo vnútri tejto slučky, budem fprintf tak, aby tlač do súboru - 52 00:02:45,750 --> 00:02:47,940 konkrétne ten Už som otvoril - 53 00:02:47,940 --> 00:02:54,650 reťazec, ktorý vyzerá takto% s,% s spätné lomítko n zavrieť citácie. 54 00:02:54,650 --> 00:02:58,790 >> A teraz chcem pripojiť ku každému tieto zástupné symboly skutočné hodnoty 55 00:02:58,790 --> 00:03:03,390 mená študenta a dom pomocou operátora bodka. 56 00:03:03,390 --> 00:03:10,030 Študenti držiak i.name, študenti Držiak i.house zatvoriť zátvorka 57 00:03:10,030 --> 00:03:11,230 bodkočiarku. 58 00:03:11,230 --> 00:03:16,180 Teraz pod týmto pre sláčiky, ja som jednoducho Zavolám fclose súboru tak, aby 59 00:03:16,180 --> 00:03:18,520 nakoniec zatvorte súbor. 60 00:03:18,520 --> 00:03:21,360 >> Teraz, keď som spustiť tento program, mal by som to vlastne nič vidieť na 61 00:03:21,360 --> 00:03:25,010 obrazovke, ale mal som po spustení tento program súbor s názvom 62 00:03:25,010 --> 00:03:29,130 Students.CSV v rovnakom adresári, ktorý Aj spustiť príkaz v tom, že by 63 00:03:29,130 --> 00:03:32,480 obsahuje čiarku oddelený zoznam hodnôt. 64 00:03:32,480 --> 00:03:34,790 Poďme sa pozrieť. 65 00:03:34,790 --> 00:03:41,690 >> Urobiť structs 1. / Structs1 študenta meno, povedzme David, 66 00:03:41,690 --> 00:03:43,140 že bude žiť v Mather. 67 00:03:43,140 --> 00:03:46,890 Meno študenta, povedzme, Lauren, ona bude žiť v Leverett. 68 00:03:46,890 --> 00:03:50,800 Meno študenta, povedzme, Rob, že bude žiť v Kirkland. 69 00:03:50,800 --> 00:03:54,050 Teraz, opäť, ako sa očakávalo, sa nič neobjaví aby sa stalo, ale dovoľte mi, aby som 70 00:03:54,050 --> 00:03:58,790 pokračovať na príkazovom riadku a typu g upraviť students.CSV v nádeji, že 71 00:03:58,790 --> 00:04:00,850 že súbor skutočne existuje. 72 00:04:00,850 --> 00:04:07,010 >> Gedit students.CSV ENTER, a naozaj, Všimnite si, že súbor, ktorý obsahuje iba 73 00:04:07,010 --> 00:04:11,320 textu, ale text oddelený čiarkami pre každé pole, skutočne existuje. 74 00:04:11,320 --> 00:04:14,530 A keď sme používali, nie CS50 zariadenie, ale známejší Mac alebo 75 00:04:14,530 --> 00:04:18,080 PC, ukazuje sa, že by sme mohli naozaj otvoriť tento súbor CSV s viac 76 00:04:18,080 --> 00:04:20,400 zoznámiť program, ako je Excel alebo čísel. 77 00:04:20,400 --> 00:04:22,906