>> Gjuha 1: Le të shkruaj një program që bën të përdoruesit për emrat dhe
shtëpitë e tre studentë.
Por në vend se vetëm të shtypur jashtë tyre Emrat dhe shtëpitë në ekran, le të
në vend që të ruani këtë informacion në disk.
Me fjalë të tjera, le të krijojnë, të themi, një CSV fotografi, presje për vlerat e ndara,
e cila është në të vërtetë vetëm një skedar teksti që programe si Excel ose Numrat e
mund të hapur, dhe në mënyrë efektive të shpëtuar ata Emrat dhe shtëpi të përhershme në mënyrë që
ne mund të shqyrtojë ato më vonë.
>> Për ta bërë këtë, le të parë të marrin një vështrim në disa kodin Boilerplate që unë kam
filloi me tashmë.
Vini re së pari se në mesin e headers up krye është tani lib.h standarde të cilat
ndodh që të ketë disa funksione që lidhen të paraqesë I / O, input file dhe prodhimit.
Vini re se unë kam deklaruar edhe një konstante quajtur NXËNËSIT -
në të gjitha shkronja kapitale - vlera e të cilave është e vështirë koduar si tre.
Vini re se tani brenda kryesore ime program, unë jam deklaruar një rrjet të
Madhësia e tre duke përdorur atë konstante të quajtur STUDENTËT secili anëtar i së cilës është e
lloji studentët.
>> Kujtojnë tani që një student ne do të përcaktojë si ka një emër dhe një shtëpi të dy të
të cilat janë vargjet sipas kësaj Deklarata udhëzon, dot h.
Tani përsëri në structs1.c, vëreni se unë kanë një për lak këtu që do të
iterate nga zero deri në tre.
Ajo do të shkaktonte më për një student të Emri dhe shtëpia e nxënësit
përsëri dhe përsëri dhe përsëri.
>> Pastaj në fund të këtij programi, vëreni se unë kam një tjetër për lak
që do të liruar studenti ith-së Emri dhe shtëpia e studentit ith-së në një
ndërtuar lak në mënyrë të ngjashme.
Për të qenë të sigurt, ne mund të kombinojnë këto sythe në vetëm një, por kam kërkuar për të
kanë disa segmente të ndryshme të kodit për hir të diskutimit këtu.
>> Tani në mes të atyre për sythe, le të në të vërtetë kanë një tjetër, dhe kjo e
qëllimi në jetë është që në fakt të shpëtuar të gjithë e këtyre emrave dhe shtëpive që janë
aktualisht në RAM në disk në formë e presje vlerave të ndara.
Për ta bërë këtë, ne jemi duke shkuar për të përdorur tre funksione të reja -
F hapur, F printf, dhe F të ngushtë, e cila hapur një skedë, të shtypura në një skedar, dhe
të mbyllur një skedë.
Ne mund të përdorni ato si më poshtë.
>> Foto, në të gjitha shkronja kapitale, e cila është disi e një kuriozitet në C, FILE merr fopen
quote mbyll thonjëzat dhe tani një emër për paraqesë, të themi, students.CSV, por unë mund të
e quajti atë më asgjë, presje dhe tani unë jam i do të specifikojë një të vetme w brenda
nga kuotat e dyfishtë.
W, si ju mund të keni tashmë mendoi, do të thotë se fopen duhet të hapur këtë fotografi
Students.CSV bëri thirrje për të shkruar në mënyrë që ne në fakt mund të shpëtojë disa
Përmbajtja në të.
>> Le të kontrolloni të ardhshëm nëse fotografi nuk është e barabartë me null.
Sepse në qoftë se ajo është, ndoshta diçka ka shkuar keq në cilin rast ne
nuk duhet të vazhdojë të përpiqet për të shkruar ndonjë gjë për të.
Por në qoftë se kjo nuk është null, atëherë brenda formatimin e teksteve kaçurrel Unë jam duke shkuar për të iterate
nga i barabartë me 0 në deri në NXËNËSIT, dhe unë jam duke shkuar për të
Rritja i në çdo përsëritje.
Dhe brenda këtij lak, unë do të fprintf në mënyrë që të shtypura në një skedar -
veçanërisht një Unë tashmë e hapur -
një varg që duket si kjo% s,% s backslash n quote ngushtë.
>> Dhe tani unë dua të vihet në prizë për secilin prej ato placeholders vlerat aktuale
e emrit të nxënësit dhe një shtëpi duke përdorur dot operatori.
Studentët kllapa i.name, studentët Paren ngushtë kllapa i.house
gjysmë-zorrës së trashë.
Tani më poshtë këtë për lak, unë jam thjesht do të thërrasë fclose e file qe
në fund të fundit për të mbyllur dosjen.
>> Tani kur kam drejtuar këtë program, unë nuk duhet në të vërtetë shoh ndonjë gjë në
ekran, por unë duhet të ketë pas drejtimin ky program një skedar të quajtur
Students.CSV në të njëjtën directory që I drejtuar komandën në se duhet
përmbajnë të ndara me presje lista e vlerave.
Le të bëjmë një vështrim.
>> Bëni structs 1. / Studenti structs1-së emrin, le të themi Davidin,
ai do të jetojë në Mather.
Emri i nxënësit, le të themi, Lauren, ajo do të jetojnë në Leverett.
Emri i nxënësit, le të themi, Rob, ai do të jetojë në Kirkland.
Tani, përsëri, siç pritej, asgjë nuk duket të ketë ndodhur, por më lejoni të
të shkojnë përpara në komandën e shpejtë dhe lloji g ndrysho students.CSV me shpresë se
se dosja me të vërtetë ekziston.
>> Gedit students.CSV ENTER, dhe në të vërtetë, vini re se një dosje që përmban thjesht
tekst, por teksti të ndara me presje për çdo fushë, me të vërtetë ekziston.
Dhe në qoftë se ne ishim duke përdorur, nuk CS50 aplikim, por një Mac më të njohur ose
PC, rezulton se ne mund të vërtetë hapur këtë skedar CSV me një më shumë
program të njohur si Excel ose Numrat.