>> SPEAKER 1: Írjunk egy programot, amely kéri a felhasználót, hogy a nevek és
házak három diák.
De ahelyett, hogy csak ki kell nyomtatni a nevét és házak a képernyőn, nézzük
ahelyett, kivéve, hogy adatokat a lemezre.
Más szavakkal, hozzunk létre, mondjuk, a CSV fájl, a vesszővel elválasztott értékek,
ami valójában csak egy szöveges fájl, amely programok, mint például az Excel vagy a számok
nyithat, és hatékonyan mentse azokat Nevek és házak véglegesen, hogy a
akkor felül őket később.
>> Ehhez nézzük először nézd meg, Néhány boilerplate kódot, hogy én már
kezdődött már.
Figyeljük meg először, hogy a fejlécbe up tetején van már standard lib.h amely
előfordul, hogy bizonyos funkciók kapcsolódó file I / O, file típusú input és output.
Figyeljük meg, hogy én is kijelentette, állandó nevű diák -
minden sapkák - amelynek értéke kemény kódolt három.
Figyeljük meg, most, hogy a belsejében a fő programot, én nyilvánította tömb
size három használ, hogy állandó úgynevezett Diákok minden amelynek tagok a
típusú diákok.
>> Emlékezzünk vissza, hogy egy diák fogjuk meghatározni mintha egy nevet és egy ház mindkét
amelyek a húrok, mint egy ezt nyilatkozat arra utasítja, pont h.
Most vissza structs1.c, észre, hogy én van egy for ciklus, hogy itt fog
ismételget nulláról maximum három.
Ez lesz megkérdezze a diák nevét és a diák háza
újra és újra és újra.
>> Ezután az alján ezt a programot, észre, hogy van egy másik a loop
hogy megy, hogy szabad az i-edik diák nevét és az i-edik tanuló házban
hasonlóan épített hurok.
Az biztos, hogy mi is össze azokat a hurok a csak egy, de azt akartam, hogy
van egyes különálló szegmenseiben kód kedvéért vita itt.
>> Most azok között a hurkok, nézzük valójában egy másik, és ez az ember
célja az életben, hogy ténylegesen menteni minden Az ezeket a neveket és a házak, amelyek
Jelenleg RAM lemezre formában vesszővel elválasztott értékek.
Ehhez fogjuk használni három új funkciók -
F nyitva, F printf, és az F-szoros, amely nyisson meg egy fájlt, hogy fájlba nyomtasson, és
zárja be a fájlt.
Tudjuk használni őket, a következők szerint.
>> FILE, minden sapkák, amely némileg a a kíváncsiság C, fájl lesz fopen
quote idézet vége és most egy nevet a fájl, mondjuk, students.CSV, de nem tudtam
hívják a legtöbb semmit, vessző, és most én vagyok fog megadni egy w belül
Az idézőjelek.
W, ahogy sejteni lehetett már, azt jelenti, hogy fopen kellene megnyitni ezt a fájlt
hívott Students.CSV írásra, így hogy valóban félre
tartalmát hozzá.
>> Nézzük következő ellenőrzés, ha a fájl nem egyenlő null.
Mert ha igen, valami valószínűleg baj ebben az esetben is
ne folytassa próbálni nyomtatni bármit hozzá.
De ha ez nem nulla, akkor belül a kapcsos zárójelek fogok iterációkhoz
az i értéke 0 akár a diákok, és fogok
növekmény i minden iterációban.
És belül erre a ciklusra, fogok fprintf hogy nyomtatni a file -
közelebbről, az egyik Már megnyílt -
egy sor ami így néz ki:% s,% s backslash n közel árajánlatot.
>> És most azt akarom, hogy csatlakoztassa a minden azok helyőrzőket a tényleges értékek
egy diák nevét és a házat a pont operátor.
Diákok konzol i.name, diákok konzol i.house közel paren
pontosvessző.
Most ez alatt a ciklus, én egyszerűen fogja hívni fclose fájl érdekében
hogy végül zárja be a fájlt.
>> Most, amikor fut a program, nem kellene valóban látni semmit a
képernyőn, de kellett volna futtatása után ez a program egy fájlt a
Students.CSV ugyanabban a könyvtárban, hogy Én vezetem a parancsot, hogy amennyiben
tartalmazza a vesszővel elválasztott értékek listája.
Vessünk egy pillantást.
>> Legyen struktúrákat 1.. / Structs1 diák név, mondjuk David,
fog élni Mather.
Hallgató nevét, mondjuk, Lauren, ő lesz élni Leverett.
Hallgató nevét, mondjuk, Rob, fog élni Kirkland.
Nos, megint, mint az várható volt, semmi nem jelenik meg hogy történt, de hadd
megy előre, a parancssort, és írja g szerkesztés students.CSV abban a reményben, hogy az
, hogy a fájl valóban létezik.
>> Gedit students.CSV az ENTER billentyűt, és valóban, észre, hogy a fájlt, amely tisztán
szöveget, de szöveg vesszővel elválasztva minden területen, valóban létezik.
És ha használta, nem pedig CS50 készülék, de a jobban ismert Mac vagy
PC, kiderül, hogy valóban képes nyissa meg ezt a CSV fájlt egy
ismerős program, mint például az Excel vagy a számok.