Ræðumaður 1: Við skulum skrifa forrit sem hvetja notandann um nöfn og hús þremur nemendum. En frekar en bara prenta út sína nöfn og hús á skjánum, skulum staðinn vista þær upplýsingar á harða diskinum. Með öðrum orðum, við skulum búa til, segjum, CSV skrá, fyrir kommu aðskilin gildi, sem er reyndar bara textaskrá sem forrit eins og Excel eða Numbers getur opnað, og í raun að vista þær nöfn og hús varanlega þannig að við getum skoðað þær seinna. Að gera það, við skulum fyrst að kíkja á sumir boilerplate kóða sem ég hef byrjaði með nú þegar. Takið fyrst að meðal haus upp efst er nú staðall lib.h sem gerist að hafa sumar aðgerðir sem tengjast að skrá I / O, skrá inntak og úttak. Takið eftir að ég hef einnig lýst fasti kallast nemendur - í öllum húfur - sem gildi er harður á dulmáli sem þrjú. Takið nú að inni af helstu minn program, ég er að lýsa yfir fjölda stærð þrjú nota þessi fastann NEMENDUR hver sem meðlimir eru af tegund nemendum. Muna nú að nemandi við munum skilgreina sem hafa nafn og hús bæði af sem eru strengir sem á þetta yfirlýsingu instructs, punktur h. Nú aftur í structs1.c, taka eftir að ég hafa for lykkju hér sem er að fara að iterate frá núll upp í þrjá. Það er að fara að hvetja mig fyrir nemanda er nafn og hús nemanda aftur og aftur og aftur. Þá á the botn af this program, taka eftir að ég hef annað fyrir lykkja það er að fara að losa ith nemandans nafn og hús-ta nemandans í álíka smíðað hliðar. Til að vera viss, gætum við sameina þessar lykkjur í bara einn, en ég vildi að hafa sumir greinilegur hluti af kóða fyrir sakir umræðu hér. Nú í milli þeirra fyrir lykkjur, við skulum reyndar hafa aðra, og þetta er tilgangur í lífinu er að í raun að vista allt af þessum nöfnum og hús sem eru nú í vinnsluminni til diskur í formi af kommu aðskilin gildi. Til að gera það, við erum að fara að nota þrjár nýjar aðgerðir - F opinn, F printf og F loka, sem opna skrána, prenta í skrá, og loka skrá. Við getum notað þá eins og hér segir. Skrá, í öllum húfur, sem er nokkuð forvitni í C, fær FILE fopen vitna unquote og nú heiti fyrir skrá, segjum, students.CSV, en ég gat kalla það mest allt, komma og nú er ég að fara að tilgreina einn m inni af gæsalöppum. W, eins og þú might hafa giska nú þegar, þýðir að fopen ætti að opna þessa skrá kallað Students.CSV fyrir að skrifa svo að við getum raunverulega spara innihald til þess. Skulum næstu stöðva ef skrá er ekki jafnt null. Því ef það er eitthvað hefur líklega farið úrskeiðis í því tilviki við ætti ekki að halda áfram að reyna að prenta neitt í því. En ef það er ekki null, þá inni á hrokkið axlabönd Ég ætla að iterate frá ég er 0 á allt til nemenda, og ég ætla að vöxtur ég á hverri ítrun. Og inni þessa lykkju, ég er að fara að fprintf þannig að prenta í skrá - sérstaklega þegar einn Ég opnaði nú þegar - streng sem lítur svona út% s,% s sviga n loka vitna. Og nú vil ég að stinga í hvert þessir staðgengla sem raunveruleg gildi af nafni nemanda og hús nota punktur rekstraraðila. Nemendur krappi i.name, nemendur krappi i.house loka paren hálf-hreinsun. Nú undir þetta fyrir lykkju, ég er einfaldlega fara að kalla fclose af skrá í því skyni að lokum loka skrá. Nú þegar ég keyra þetta forrit, ég ætti ekki að reyndar séð neitt á skjár, en ég ætti að hafa eftir að keyra Þetta forrit skrá sem kallast Students.CSV í sömu möppu sem Ég að keyra skipunina í að ætti innihalda kommu aðskilin listi af gildum. Skulum taka a útlit. Gera structs 1. / Structs1 nemandans nafn, segjum Davíð, hann mun lifa í Mather. Nafn nemandans, við skulum segja, Lauren, hún mun lifa í Leverett. Nafn nemandans, við skulum segja, Rob, hann mun lifa í Kirkland. Nú, aftur, eins og búist, ekkert birtist að hafa gerst, en lát mig fara á undan í stjórn hvetja og tegund g breyta students.CSV í von um að þessi skrá örugglega til staðar. Gedit students.CSV ENTER, og reyndar taka eftir því að skrá sem inniheldur eingöngu texta, en textinn aðskilin með kommum fyrir hvern reit, örugglega til staðar. Og ef við værum að nota, ekki CS50 tæki, en meira þekki Mac eða PC, snýr það út að við gætum örugglega opna þessa CSV skrá með a fleiri þekki forrit eins og Excel eða Numbers.