SIARADWR 1: Dewch i ysgrifennu rhaglen sy'n annog y defnyddiwr ar gyfer enwau a tai o dri myfyriwr. Ond yn hytrach na dim ond argraffu eu enwau a thai i'r sgrin, gadewch i ni yn lle hynny arbed wybodaeth honno i ddisg. Mewn geiriau eraill, gadewch i ni greu, dyweder, CSV ffeiliau, ar gyfer gwerthoedd gwahanu coma, sydd mewn gwirionedd dim ond ffeil testun sy'n rhaglenni fel Excel neu Niferoedd gallu agor, ac yn effeithiol ac eithrio'r rhai enwau a thai yn barhaol fel bod gallwn eu adolygu yn nes ymlaen. I wneud hynny, gadewch i gyntaf i ni edrych ar rhyw cod boilerplate fy mod i wedi dechrau gyda barod. Hysbysiad cyntaf ymhlith y penawdau hyd top bellach lib.h safonol sy'n digwydd i gael rhai swyddogaethau sy'n gysylltiedig â i ffeil I / O, mewnbwn ffeil ac allbwn. Sylwch fod Rwyf hefyd wedi datgan cysonyn o'r enw MYFYRWYR - yn yr holl gapiau - y mae eu gwerth yn cael ei godio galed fel thri. Hysbysiad yn awr y tu mewn fy mhrif rhaglen, rwy'n datgan amrywiaeth o maint tri defnyddio'r gyson a elwir MYFYRWYR pob un o aelodau y mae eu o deipio myfyrwyr. Dwyn i gof yn awr bod myfyriwr byddwn yn diffinio fel un sydd â enw a thŷ ddau sy'n cael eu llinynnau yn unol hon datganiad yn cyfarwyddo, dot h. Nawr yn ôl yn structs1.c, yn sylwi fy mod yn ydynt yn am ddolen yma sy'n mynd i ailadrodd o sero hyd at dri. Mae'n mynd i ysgogi mi am y myfyriwr enw a thŷ myfyriwr eto ac eto ac eto. Yna, ar waelod y rhaglen hon, sylwi bod gennyf arall ar gyfer dolen mae hynny'n mynd i ryddhau'r myfyriwr ith yn enw a thŷ y myfyriwr ith yn y adeiladu dolen yn yr un modd. Er mwyn bod yn sicr, gallem gyfuno dolenni hynny i mewn i un yn unig, ond roeddwn i eisiau cael rhai segmentau penodol o god er mwyn trafod yma. Nawr rhwng y rhai ar gyfer dolenni, gadewch i ni mewn gwirionedd yn cael un arall, ac mae hyn yn un o bwrpas mewn bywyd yw achub pawb mewn gwirionedd o enwau a tai hyn sy'n ar hyn o bryd yn RAM i ddisg ar ffurf o werthoedd gwahanu coma. Er mwyn gwneud hynny, rydym yn mynd i ddefnyddio tair swyddogaeth newydd - F agored, F printf, ac F yn agos, a oedd yn agor ffeil, argraffu i ffeil, a cau ffeil. Gallwn eu defnyddio fel a ganlyn. FFEIL, ym mhob capiau, sydd yn dipyn o chwilfrydedd yn C, FFEIL cael fopen dyfyniad unquote ac yn awr enw ar gyfer y ffeil, dyweder, students.CSV, ond gallwn i wneud ei alw y rhan fwyaf o unrhyw beth, coma ac erbyn hyn rwy'n mynd i bennu un w y tu mewn o dyfynodau dwbl. W, fel y byddech wedi dyfalu eisoes, yn golygu y dylai fopen agor y ffeil a elwir yn Students.CSV ar gyfer ysgrifennu felly y gallwn mewn gwirionedd yn arbed rhywfaint o cynnwys iddo. Gadewch i gwiriad nesaf os ffeil Nid yn hafal i null. Oherwydd os yw, rhywbeth yn ôl pob tebyg mynd o'i le ac os felly yr ydym yn Ni ddylai symud ymlaen i geisio i argraffu unrhyw beth iddo. Ond os nad yw'n null, yna tu mewn i'r braces cyrliog Rydw i'n mynd i ailadrodd o i yn hafal i 0 ar hyd at FYFYRWYR, ac rwy'n mynd i cynyddiad i ar bob fersiwn. Ac tu mewn dolen hwn, yr wyf yn mynd i fprintf er mwyn argraffu i ffeil - yn benodol un Rwyf eisoes yn agor - llinyn sy'n edrych fel% s hwn,% s slaes n dyfyniad agos. Ac yn awr yr wyf am i blygio i bob un o'r bachau hynny y gwerthoedd gwirioneddol enw myfyriwr a thŷ gan ddefnyddio'r gweithredwr dot. I.name myfyrwyr braced, myfyrwyr paren i.house braced agos lled-colon. Nawr is na hyn ar gyfer dolen, rwy'n syml mynd i alw mmap o ffeil er mwyn yn y pen draw gau'r ffeil. Nawr, pan fyddaf yn rhedeg y rhaglen hon, nid wyf ddylai mewn gwirionedd yn gweld unrhyw beth ar y sgrin, ond dylai gen i ar ôl rhedeg y rhaglen hon yn ffeil o'r enw Students.CSV yn yr un cyfeiriadur sy'n Rwy'n rhedeg y gorchymyn yn dylai fod gynnwys atalnod gwahanu rhestr o werthoedd. Gadewch i gymryd golwg. Gwneud structs 1. / Myfyrwyr structs1 yn enw, gadewch i ni ddweud David, bydd yn byw yn Mather. Enw'r myfyriwr, gadewch i ni ddweud, Lauren, bydd hi'n byw yn Leverett. Enw'r myfyriwr, gadewch i ni ddweud, Rob, bydd yn byw yn Kirkland. Yn awr, unwaith eto, yn ôl y disgwyl, nid oes dim yn ymddangos wedi digwydd, ond gadewch i mi fynd yn ei flaen yn y archa 'n barod a math g golygu students.CSV yn gobeithio y y ffeil yn wir yn bodoli. Gedit students.CSV ENTER, ac yn wir, sylwi bod ffeil yn cynnwys yn unig testun, ond testun gwahanu gan atalnodau ar gyfer pob cae, yn wir yn bodoli. Ac os ydym yn defnyddio, nid yw'r CS50 offer, ond mae Mac yn fwy cyfarwydd neu PC, mae'n troi allan y gallem yn wir agor y ffeil CSV gyda mwy rhaglen cyfarwydd megis Excel neu Rhifau.