>> SPEAKER 1: Ejja jikteb programm li iqajjem l-utent għall-ismijiet u
djar ta 'tliet studenti.
Iżda pjuttost milli biss print out tagħhom ismijiet u djar għall-iskrin, ejja
minflok tiffranka dik l-informazzjoni lill disk.
Fi kliem ieħor, ejja joħolqu, ngħidu aħna, CSV file, għall-valuri separati virgola,
li huwa attwalment biss fajl test li programmi bħal Excel jew Numri
tista 'tiftaħ, u effettivament jiffranka dawk ismijiet u djar permanenti sabiex
nistgħu jirreveduhom aktar tard.
>> Biex tagħmel dan, ejja ewwel tagħti ħarsa lejn xi kodiċi boilerplate li stajt
beda bil diġà.
Avviż ewwel li fost l-intestaturi top up issa huwa lib.h standard li
jiġri li jkollhom xi funzjonijiet relatati għall-fajl I / O, input fajl u output.
Avviż li stajt ddikjarat ukoll kostanti imsejjaħ studenti -
fil caps kollha - li l-valur huwa hard kkodifikati kif tlieta.
Avviż issa li ġewwa ta 'prinċipali tiegħi programm, jien tiddikjara firxa ta '
daqs tliet jużaw dak kostanti imsejħa STUDENTI kull tal-membri li huwa ta '
tip istudenti.
>> Recall issa li student aħna ser jiddefinixxu bħala li jkollhom isem u dar kemm ta '
li huma kordi bħala kull din dikjarazzjoni jordna, dot h.
Issa lura fil structs1.c, avviż li jien jkunu a għal loop hawnhekk li għaddej biex
jtenni minn żero sa tlieta.
Huwa ser pront me għal tal student isem u d-dar ta 'student
ġdid u għal darb'oħra u għal darb'oħra.
>> Imbagħad fil-qiegħ ta 'dan il-programm, avviż li għandi ieħor għall loop
li għaddej biex ħielsa l-istudent ith tal- isem u d-dar l-istudent ith fil a
simili mibni loop.
Biex tkun żgur, nistgħu jgħaqqdu dawk loops għal waħda biss, imma jien ridt li
għandhom xi segmenti distinti ta 'kodiċi għall-fini ta 'diskussjoni hawn.
>> Issa fl bejn dawk għall-linji, ejja attwalment ikollhom ieħor, u dan wieħed
skop fil-ħajja huwa li attwalment jiffranka kollha ta 'dawn l-ismijiet u djar li huma
attwalment fis-RAM disk fil-forma ta 'valuri separati virgola.
Biex tagħmel dan, aħna qed tmur għall-użu tliet funzjonijiet ġodda -
F miftuħa, F printf, u qrib F, li jiftaħ fajl, jistampaw għal fajl, u
tagħlaq fajl.
Nistgħu jużawhom kif ġej.
>> FAJL, fil-limiti kollha, li hija kemmxejn ta ' kurżità fis-C, FILE gets fopen
unquote kwotazzjoni u issa isem għall- fajl, jiġifieri, students.CSV, imma I jistgħu
sejħa hija xi ħaġa aktar, comma u issa jien ser tispeċifika waħda w ġewwa
ta 'kwotazzjonijiet doppja.
W, kif inti tista 'diġà guessed, ifisser li fopen għandha tiftaħ dan il-fajl
sejjaħ Students.CSV għall-kitba sabiex li nistgħu attwalment tiffranka xi
kontenut għaliha.
>> Ejja kontroll li jmiss jekk fajl mhuwiex ugwali għal null.
Għaliex jekk huwa, xi ħaġa għandha probabbilment marret ħażin f'liema każ aħna
m'għandux jipproċedi biex tipprova li jistampaw xejn magħha.
Imma jekk mhuwiex null, allura ġewwa tal- braces kaboċċi jien ser jtenni
minn i egwali għal 0 fuq sa STUDENTI, u jien ser
inkrement i fuq kull iterazzjoni.
U ġewwa ta 'dan loop, I vais fprintf sabiex jistampaw għal fajl -
speċifikament l-waħda I diġà miftuħa -
string li tidher bħal dan% s,% s backslash n quote qrib.
>> U issa nixtieq li plagg fil lil kull wieħed dawk placeholders il-valuri attwali
isem ta 'student u dar jużaw l-operatur dot.
I.name istudenti bracket, studenti paren qrib i.house bracket
semi-colon.
Issa hawn taħt dan għal loop, jien sempliċiment ser sejħa fclose tal-fajl sabiex
li finalment tagħlaq il-fajl.
>> Issa meta I run dan il-programm, I m'għandhomx attwalment tara xejn fuq il-
screen, imma I għandu jkollhom wara running dan il-programm fajl imsejjaħ
Students.CSV fl-istess direttorju li I imexxu l-kmand f'dak għandhom
fihom comma separati lista ta 'valuri.
Ejja tagħti ħarsa.
>> Jagħmlu structs 1. / Istudent structs1 tal isem, ejja ngħidu David,
hu ser jgħixu fl Mather.
Isem istudent, ejja ngħidu, Lauren, hi ser jgħixu fl Leverett.
Isem istudent, ejja ngħidu, Rob, hu ser jgħixu fil Kirkland.
Issa, għal darb'oħra, kif mistenni, xejn jidher li ġara, iżda let me
jimxi 'l quddiem fil-pront kmand u t-tip g jeditjaw students.CSV fil jittama li
dan il-fajl tabilħaqq jeżisti.
>> Gedit students.CSV ENTER, u tabilħaqq, avviż li fajl li fih purament
test, iżda test separati mill-virgoli għal kull qasam, tabilħaqq jeżisti.
U jekk aħna kienu jużaw, mhux il-CS50 appliance, iżda Mac aktar familjari jew
PC, jirriżulta li nistgħu tabilħaqq tiftaħ dan il-fajl CSV ma 'aktar
programm familjari bħal Excel jew Numri.