SPEAKER 1: Napišimo program, ki pozove uporabnika za imeni in hiše treh študentov. Vendar ne zgolj izpisal njihovo Imena in hiše na zaslon, dajva namesto da shranite podatke na disk. Z drugimi besedami, kaj je ustvarjanje, recimo, CSV datoteke, za vejico ločene vrednosti ki je pravzaprav le besedilna datoteka, ki programi, kot je Excel ali številkah lahko odprete in učinkovito razen tistih Imena in hiše za stalno, tako da smo jih lahko ogledate kasneje. To storite tako, kaj je najprej si oglejte nekateri boilerplate kodo, ki sem začel z že. Opazimo, da, prvič, v glavo do vrha je zdaj standardni lib.h ki se zgodi, da so nekatere naloge, povezane vložiti I / O, vhod datoteke in izhod. Obvestilo, da sem tudi izjavila, stalna pozval študente - v vseh kape - katerih vrednost je težko kodirane kot tri. Opazimo, da je zdaj notranjosti moj glavni Program, jaz razglasitvi niz Velikost tri uporabo tega konstanto, imenovano ŠTUDENTI katerih posamična članov je tip študentom. Spomnimo se, da je zdaj študent bomo opredeliti da ima ime in hišo oba ki so nizi je na tem Izjava naroča, dot h. Zdaj pa nazaj v structs1.c, opazil, da sem so za zanko tukaj, da se dogaja, da Ponovil od nič do tri. To se dogaja, da me vpraša za študenta je Ime in študentske hiša spet in spet in spet. Nato na dnu tega programa opazili, da imam še za zanko da se bo to brezplačno wi študent je Ime in i-ti študentsko hišo v Podobno zgrajeno zanko. Če želite biti prepričani, bi lahko kombinirate zank v samo eno, ampak sem hotel imajo nekatere različne segmente kode zaradi razpravo tukaj. Zdaj med tiste, za zanke, dajva dejansko imajo drugi, in to je Cilj v življenju je, da dejansko prihranite vse teh imen in hiš, ki so Trenutno v RAM na disk v obliki z vejico ločenih vrednosti. To storite tako, da bomo uporabili tri nove funkcije - F odprta, F printf in F blizu, ki Datoteko odprete tako, tiskati v datoteko, in zaprite datoteko. Lahko jih uporabite kot sledi. FILE v vseh kape, kar je nekoliko radovednost v C, dobi FILE fopen quote citata in zdaj ime datoteko, recimo, students.CSV, vendar sem lahko pravijo najbolj ničesar, vejica in zdaj sem bo določiti enoten w notranjosti dvojnih narekovajev. W, kot ste morda uganili že, pomeni, da mora fopen odpreti to datoteko pozval Students.CSV za pisanje, tako da bomo lahko dejansko prihranite nekaj Vsebine z njo. Poglejmo naslednji pregled, če datoteka ni enaka null. Ker če je to, kar je verjetno šlo narobe v tem primeru smo ne sme nadaljevati, da bi poskušali natisniti ničesar z njim. Če pa to ni nič, potem pa znotraj zaviti oklepaji Jaz bom Ponovil od i je enak 0 na do študentov, in bom prirastek i na vsaki ponovitvi. In znotraj te zanke, bom fprintf tako da tiskati v datoteko - posebej ena Sem že odprl - Niz, ki izgleda kot to% s,% s backslash n blizu quote. In zdaj želim, da priključite na vsak te ograde dejanske vrednosti imena študenta in hiše uporabi operator pika. Študenti nosilec i.name, študenti Nosilec i.house blizu paren podpičjem. Zdaj pod to zanko, da sem preprosto bo poklical fclose datoteke, da bi na koncu zaprite datoteko. Zdaj, ko sem teči ta program, ne bi smeli dejansko videli ničesar zaslon, ampak bi moral imeti po zagonu ta program datoteko z imenom Students.CSV v istem imeniku, ki Vodim ukaz, da naj bi vsebuje z vejico ločene Seznam vrednosti. Oglejmo pogled. Naredite konstruktov 1 /. Structs1 študent je ime, recimo David, on bo živel v Mather. Ime študenta, recimo, Lauren, ona živi v Leverett. Ime študenta, recimo, Rob, on bo živel v Kirkland. Zdaj, spet, kot je bilo pričakovano, se zdi nič da se je zgodilo, ampak naj pojdi v ukazno vrstico in tip g edit students.CSV v upanju, da Ta datoteka zares obstaja. Gedit students.CSV ENTER, in res, opazili, da spis, ki vsebuje zgolj Besedilo, ampak besedilo, ločene z vejicami Za vsako polje, v resnici obstaja. In če smo s pomočjo, ne CS50 aparat, ampak bolj seznanjeni Mac ali PC, se izkaže, da smo lahko zares odpreti to datoteko CSV z več pozna program, kot so Excel ali številke.