>> 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.