>> SPEAKER 1: Oletame, kirjutada programm, mis küsib kasutajalt nime ja
maja kolm õpilast.
Aga mitte ainult välja printida oma nimed ja maja ekraan, olgem
selle asemel salvestada et info kettale.
Teisisõnu loome, ütleme, CSV fail, komaga eraldatud väärtuste
mis on tegelikult lihtsalt tekstifaili programmid nagu Excel või numbrid
saab avada ja tõhusalt salvestada need nimed ja majade püsivalt nii, et
saame neid hiljem vaadata.
>> Selleks teeme kõigepealt heita pilk mõned stereotüüp kood, mis ma olen
algas juba.
Pange tähele, et esiteks päisesse üleval on nüüd standard lib.h mis
juhtub, et mõned funktsioonid, mis on seotud esitama I / O, faili sisend ja väljund.
Pange tähele, et ma olen ka tunnistada pidev nimetatakse õpilased -
kõik mütsid - mille väärtus on kõva kodeeritud kolm.
Pange tähele, et nüüd, sees minu peamine programm, ma kuulutatakse massiivi
suurus kolm kasutades, et pidev nimetatakse Õpilasi, kelle liikmed on
kirjuta õpilastele.
>> Meenuta nüüd, et õpilane me määratleda kellel on nimi ja maja mõlemale
mis on stringid kohta see deklaratsioon teeb, dot h.
Nüüd tagasi structs1.c, teate, et ma on silmus siin, et läheb
itereerima nullist kuni kolmeni.
See läheb küsib minult õpilase nimi ja üliõpilaste maja
uuesti ja uuesti ja uuesti.
>> Siis allosas Selle programmi teate, et mul on teine ​​silmus
et läheb tasuta nda õpilase nimi ja nda õpilase maja
sarnaselt ehitatud loop.
Et olla kindel, et me võiksime ühendada need silmad arvesse ainult üks, aga ma tahtsin
mõned segmentide kood pärast arutelu siin.
>> Nüüd vahel neid, silmad, olgem tegelikult on teine, ja see on
eesmärk elus on tegelikult salvestada kõik Nende nimed ja maja, mis on
praegu RAM kettale kujul komadega eraldatud väärtused.
Selleks, et me ei kavatse kasutada kolm uut funktsiooni -
F avatud, F printf ja F lähedal, mis Faili avamiseks printida faili ja
sulgege fail.
Me ei kasuta neid järgmiselt.
>> FAIL, kõik mütsid, mis on mõnevõrra uudishimu C, muutub faili fopen
tsitaat lõppeb ning nüüd nime fail, ütleme, students.CSV, kuid suutsin
nimetavad seda kõige midagi, koma ja nüüd ma olen kavatse määrata ühte w sees
jutumärgid.
W, nagu te võib-olla arvasid juba, tähendab, et fopen peaksid seda faili avada
nimetatakse Students.CSV kirjutamiseks nii et me saame tegelikult säästa
sisu ta.
>> Teeme järgmise kontrollida, kas fail ei ole võrdne null.
Sest kui see on midagi, mida on ilmselt valesti sel juhul me
ei tohiks jätkata proovida printida midagi ta.
Aga kui see ei ole null, siis seestpoolt looksulg ma kinnitada,
alates i võrdub 0 kuni üliõpilased, ja ma lähen
juurdekasvu i iga iteratsiooni.
Ja sees see silmus, ma fprintf et printida faili -
konkreetselt ühte Ma juba avatud -
string, mis näeb välja nagu see% s,% s kurakriips n lähedal tsiteerida.
>> Ja nüüd ma tahan, et ühendada iga need kohahoidjad tegelikud väärtused
õpilase nimi ja maja kasutades dot operaator.
Õpilased sulg i.name õpilased sulg i.house lähedal paren
semikooloniga.
Nüüd alla see silmus, ma olen lihtsalt kutsun kirjutamisel faili, et
lõpuks sulgeda fail.
>> Nüüd kui ma saan selle programmi, ma ei peaks tegelikult näha midagi
ekraan, kuid ma peaks peale jooksu Selle programmi fail nimega
Students.CSV samas kataloogis, et Ma saan käsk, mis peaks
sisaldada eralda eraldati väärtuste nimekirja.
Võtame vaata.
>> Tee structs 1 /. Structs1 õpilase Nime, oletame David,
ta elab Mather.
Student nimi, ütleme, Lauren, ta saab elada Leverett.
Student nimi, ütleme, Rob, ta elab Kirkland.
Nüüd jälle, nagu oodatud, ei kuvata on juhtunud, kuid lubage mul
minna käsureale ja tüüp g edit students.CSV loodab, et
et fail tegelikult olemas.
>> Gedit students.CSV tulla ja tõepoolest, teade, et fail, mis sisaldab ainult
teksti, kuid teksti komadega eraldatult iga valdkonna jaoks, tõepoolest olemas.
Ja kui olime kasutades, ei CS50 aparaat, kuid rohkem tuttav Mac või
PC, selgub, et me tõepoolest avada CSV faili rohkem
tuttav programm nagu Excel või numbrid.