>> 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.