>> GARSIAKALBIS 1: Tegul parašyti programą, kuri paragina pavadinimų vartotojo ir
Namai trijų studentams.
Tačiau užuot tiesiog atsispausdinti savo pavadinimai ir namų į ekraną, tegul
o išsaugoti šią informaciją į diską.
Kitaip tariant, kurkime, tarkim, csv byla, dėl kableliais atskirtų reikšmių,
kuris iš tikrųjų yra tik tekstinis failas, programų, pavyzdžiui, "Excel" ar numeriai
galima atidaryti ir efektyviai išgelbėti tuos, pavadinimai ir namų visam laikui, kad
galime peržiūrėti juos vėliau.
>> Norėdami tai padaryti, tegul pirmas pažvelgti kai Standartiniai kodas, kad aš
prasidėjo jau.
Atkreipkite dėmesį, kad, pirma, tarp antraščių iki viršaus yra dabar standartinis lib.h kuris
atsitinka, kad tam tikras funkcijas, susijusias į failą I / O, failo įvesties ir išvesties.
Atkreipkite dėmesį, kad aš taip pat pareiškė konstanta vadinama STUDENTAI -
visais dangteliais - kurių vertė yra sunkiai koduojami kaip trijų.
Atkreipkite dėmesį, kad dabar pagrindinis mano viduje programa, aš skelbiantis masyvas
dydis trijų naudojant šią konstantą, vadinamą STUDENTAI kiekvienas iš kurių nariai yra
įveskite studentus.
>> Prisiminkite, kad dabar studentas, mes apibrėžti kaip turintis vardą ir namus abu
kurios stygos, kaip už tai deklaracija nurodo, dot val.
Dabar atgal structs1.c, pastebėsite, kad aš buvo už linijos, kad čia vyksta
kartoti nuo nulio iki trijų.
Jis ketina greitai manęs studento pavadinimas ir studento namai
vėl ir vėl ir vėl.
>> Tada šios programos apačioje pastebėsite, kad turiu kitą kilpą
kad ketina atlaisvinti osios studento pavadinimas ir ItH studento namai
panašiai pastatytas kilpą.
Norėdami būti tikri, mes galime sujungti šias linijas į vieną, o aš norėjau
turėti keletą skirtingų segmentų kodą dėl diskusijų dėlei čia.
>> Dabar tarp tų, kilpos, tegul iš tiesų turi kitą, ir tai vienas s
gyvenimo tikslas yra faktiškai išsaugoti visus iš šių pavadinimų ir namų, kurie yra
Šiuo metu RAM diską formos kableliais atskirtų reikšmių.
Norėdami tai padaryti, mes ketiname naudoti Trys naujos funkcijos -
F atviras F printf, ir F arti, kuri atidaryti failą, spausdinti į failą, ir
uždaryti failą.
Mes galime naudoti juos taip.
>> FAILO visais dangteliais, kuris yra šiek tiek C smalsumas, failas paleidžiama fopen
citata citatos ir dabar dėl pavadinimas failą, tarkim, students.CSV, bet galėčiau
vadina jį labiausiai nieko, kablelis, dabar aš ketina nustatyti vieną w viduje
dvigubų kabučių.
W, kaip jūs galėjote atspėti jau reiškia, kad fopen turėtų atverti šį failą
vadinamas Students.CSV rašyti taip kad mes iš tikrųjų galite sutaupyti šiek tiek
turinį į jį.
>> Leiskite kitą patikrinti, ar failas nėra lygus nulis.
Nes jei jis yra, kažkas turi tikriausiai negerai tokiu atveju mes
Neturėtumėte toliau tęsti pabandyti spausdinti nieko į jį.
Bet jei tai ne nulis, tada viduje garbanotas petnešos aš ruošiuosi pakartoti
nuo I lygus 0 nuo iki studentų, ir aš ruošiuosi
prieaugio i kiekvienos iteracijos.
Ir viduje šios linijos, aš einu fprintf taip spausdinti į failą -
būtent vienas Aš jau atidarytas -
eilutė, atrodo taip:% s% s Backslash n arti citata.
>> Ir dabar aš noriu prijungti prie kiekvieno šios rezervuotų faktinės reikšmės
studento vardas ir namuose naudojant taško operatorių.
Studentai laikiklis i.name, studentai laikiklis i.house artimi skliaustas
kabliataškis.
Dabar toliau tai už linijos, aš tiesiog ketinate skambinti fclose Bylos tam
galiausiai uždarykite failą.
>> Dabar, kai aš paleisti šią programą, aš neturėtų iš tikrųjų matyti nieko
ekranas, bet aš turėtų turėti po tekančiu ši programa failą pavadinimu
Students.CSV į tą pačią direktoriją, kad Aš paleisti komandą, kuri turėtų
būti atskirti kableliais sąrašas vertybes.
Paimkime išvaizdą.
>> Padaryti structs 1. / Structs1 studento pavadinimas, tarkim Dovydą,
jis bus gyventi Mather.
Studento vardas, tarkim, Lauren ji bus gyventi Leverett.
Studento vardas, tarkim, Rob, jis bus gyventi Kirkland.
Dabar, vėlgi, kaip ir tikėtasi, nieko atrodo buvo atsitikę, bet leiskite man
eiti į priekį į komandų eilutę ir tipo g redaguoti students.CSV tikisi, kad
kad byla iš tikrųjų egzistuoja.
>> Gedit students.CSV ENTER, ir iš tiesų, pastebėsite, kad failas, kuriame yra grynai
tekstas, tekstas atskirti kableliais kiekvienoje srityje, iš tiesų egzistuoja.
Ir jei mes buvome naudojant ne CS50 prietaisas, bet labiau susipažinę "Mac" arba
PC, paaiškėja, kad galėtume iš tikrųjų atidaryti šį CSV failą su daugiau
susipažinęs programa, kaip "Excel" arba numerius.