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.