SPIKA 1: Hebu kuandika mpango huo humshauri mtumiaji kwa majina na nyumba ya wanafunzi watatu. Lakini badala ya magazeti nje yao majina na nyumba screen, hebu badala kuhifadhi taarifa ambazo kwa disk. Kwa maneno mengine, hebu kuunda, kusema, CSV file, kwa comma maadili kutengwa, ambayo ni kweli tu faili Nakala kwamba mipango kama Excel au Hesabu unaweza kufungua, na kwa ufanisi kuwaokoa wale majina na nyumba ya kudumu ili tunaweza tathmini yao ya baadaye. Kwa kufanya hivyo, hebu kwanza tuangalie baadhi boilerplate kificho kwamba nimekuwa ilianza na tayari. Taarifa ya kwanza kati ya headers juu juu ni sasa kiwango lib.h ambayo hutokea kwa kuwa baadhi ya majukumu kuhusiana na faili I / O, file pembejeo na mazao. Taarifa kwamba nimepata pia alitangaza mara kwa mara aitwaye wanafunzi - katika mechi zote - ambao thamani ni ngumu kutolewa kama tatu. Taarifa sasa kwamba ndani ya kuu yangu mpango, mimi nina kutangaza safu ya ukubwa tatu kwa kutumia kwamba mara kwa mara aitwaye WANAFUNZI kila mmoja wa wajumbe ambao ni ya aina wanafunzi. Kumbuka sasa kwamba mwanafunzi tutaweza kufafanua kama kuwa na jina na nyumba zote za ambayo ni masharti kama kwa hii tamko kuwafundisha, dot h. Sasa nyuma katika structs1.c, taarifa kwamba mimi kuwa kwa kitanzi hapa kwamba kwenda iterate kutoka sifuri hadi tatu. Ni kwenda haraka yangu kwa ajili ya mwanafunzi jina na nyumba ya mwanafunzi tena na tena na tena. Kisha chini ya mpango huu, taarifa kwamba mimi na mwingine kwa kitanzi ambayo inaenda bure ith mwanafunzi jina na nyumba ith mwanafunzi katika vile vile ujenzi kitanzi. Ili kuwa na uhakika, tunaweza kuchanganya loops wale ndani ya moja tu, lakini nilitaka na baadhi makundi tofauti ya maadili ya kwa ajili ya majadiliano hapa. Sasa katika kati ya wale tanzi, hebu kweli na mwingine, na hii ni moja ya kusudi katika maisha ni kweli kuwaokoa wote ya majina haya na nyumba ambazo ni sasa katika RAM kwa disk katika fomu ya comma maadili kutengwa. Kwa kufanya hivyo, sisi ni kwenda kutumia kazi tatu mpya - F wazi, F printf, na F karibu, ambayo kufungua faili, magazeti na faili, na karibu faili. Tunaweza kutumia yao kama ifuatavyo. FILE, katika mechi zote, ambayo ni sehemu ya udadisi katika C, FILE anapata fopen quote unquote na sasa jina kwa faili, kusema, students.CSV, lakini mimi naweza kuiita wengi chochote, comma na sasa mimi nina kwenda bayana moja w ndani ya ya quotes mbili. W, kama unaweza kuwa guessed tayari, ina maana kwamba fopen lazima kufungua faili hii aitwaye Students.CSV kwa ajili ya kuandika hivyo kwamba tunaweza kweli kuokoa baadhi yaliyomo yake. Hebu kuangalia ijayo kama file si sawa na null. Kwa sababu kama ni, kitu pengine wamekwenda vibaya katika kesi ambayo sisi haipaswi kuendelea na kujaribu kwa magazeti chochote yake. Lakini kama ni si null, kisha ndani ya braces curly mimi nina kwenda iterate kutoka i sawa na 0 hadi kwenye wanafunzi, na mimi nina kwenda kwa nyongeza i juu ya kila iteration. Na ndani ya kitanzi hii, mimi naenda fprintf hivyo kama magazeti na faili - hasa moja Mimi tayari kufunguliwa - kamba ambayo inaonekana kama hii% s,% s backslash n quote karibu. Na sasa nataka kuziba katika kila placeholders wale maadili halisi jina la mwanafunzi na nyumba kutumia dot operator. Wanafunzi bracket i.name, wanafunzi paren bracket i.house karibu nusu koloni. Sasa chini ya hii kwa kitanzi, mimi nina tu kwenda kuwaita fclose ya faili ili na hatimaye karibu faili. Sasa wakati mimi kuendesha mpango huu, mimi lazima si kweli kuona kitu juu ya screen, lakini mimi wanapaswa kuwa na baada ya mbio mpango huu faili inayoitwa Students.CSV katika orodha hiyo kwamba Mimi kukimbia amri katika kwamba lazima vyenye comma kutengwa orodha ya maadili. Hebu tuangalie. Kufanya structs 1. / Structs1 mwanafunzi jina, hebu sema Daudi, yeye itabidi kuishi katika Mather. Jina mwanafunzi, hebu sema, Lauren, yeye itabidi kuishi katika Leverett. Jina mwanafunzi, hebu sema, Rob, yeye itabidi kuishi katika Kirkland. Sasa, tena, kama ilivyotarajiwa, hakuna inaonekana kuwa kilichotokea, lakini napenda kwenda mbele katika amri ya haraka na ya aina g hariri students.CSV katika matumaini kwamba file kwamba kweli lipo. Gedit students.CSV kuingia, na kwa kweli, taarifa kwamba faili zenye rena maandishi, lakini Nakala kutengwa kwa koma kwa kila shamba, kwa kweli lipo. Na kama tungetumia, si CS50 appliance, lakini Mac zaidi ukoo au PC, zinageuka kuwa tunaweza kweli kufungua faili hii CSV na zaidi familiar mpango kama Excel au Hesabu.