2 00:00:00,000 --> 00:00:02,470 >> SPEAKER 1: Kirjoitetaan ohjelma, joka kysyy käyttäjältä nimet ja 3 00:00:02,470 --> 00:00:03,990 talot kolme opiskelijaa. 4 00:00:03,990 --> 00:00:07,300 Mutta sen sijaan vain tulostaa niiden nimet ja taloja näyttö, katsotaanpa 5 00:00:07,300 --> 00:00:09,660 sen sijaan tallentaa tiedot levylle. 6 00:00:09,660 --> 00:00:14,530 Toisin sanoen, nyt luoda vaikkapa CSV tiedoston, csv, 7 00:00:14,530 --> 00:00:17,720 joka on oikeastaan ​​vain tekstitiedosto, joka ohjelmia kuten Excel tai Numerot 8 00:00:17,720 --> 00:00:21,690 voi avata ja tehokkaasti pelastaa ne nimet ja talot pysyvästi niin, että 9 00:00:21,690 --> 00:00:23,220 voimme tarkastella niitä myöhemmin. 10 00:00:23,220 --> 00:00:25,960 >> Voit tehdä niin, katsotaanpa ensin katsomaan jotkut boilerplate koodi, että olen 11 00:00:25,960 --> 00:00:27,650 alkoi jo. 12 00:00:27,650 --> 00:00:32,380 Huomaa ensin että joukossa otsikot ylös on nyt vakiona lib.h joka 13 00:00:32,380 --> 00:00:36,710 sattuu olemaan joitakin toimintoja, jotka liittyvät tiedostoon I / O-tiedosto tulon ja lähdön. 14 00:00:36,710 --> 00:00:39,560 Huomaa, että olen myös ilmoittanut jatkuva kutsutaan opiskelijaa - 15 00:00:39,560 --> 00:00:42,380 ISOILLA - jonka arvo on kova koodattu kolme. 16 00:00:42,380 --> 00:00:45,820 Huomaa nyt, että sisällä minun tärkein ohjelma, olen julistamalla joukko 17 00:00:45,820 --> 00:00:50,270 koko kolme käyttäen, että jatkuva kutsutaan Oppilaalle kerrallaan jäsenistä on 18 00:00:50,270 --> 00:00:51,650 kirjoita opiskelijoille. 19 00:00:51,650 --> 00:00:56,150 >> Muistelen että opiskelija me määritellä olevan nimen ja talon molemmat 20 00:00:56,150 --> 00:01:00,410 jotka ovat merkkijonoja kohti tätä ilmoituksen neuvoo, piste h. 21 00:01:00,410 --> 00:01:04,680 Nyt takaisin structs1.c, huomaan ovat silmukan täällä että menee 22 00:01:04,680 --> 00:01:06,750 kerrata nollasta kolmeen. 23 00:01:06,750 --> 00:01:10,020 Se tulee pyytämään minua opiskelijan nimi ja opiskelijan talo 24 00:01:10,020 --> 00:01:12,310 uudestaan ​​ja uudestaan ​​ja uudestaan. 25 00:01:12,310 --> 00:01:15,620 >> Sitten alareunassa tämän ohjelman Huomaan, että minulla on toinen silmukka 26 00:01:15,620 --> 00:01:19,970 että menee vapauttaa nteen opiskelijan nimi ja nnen opiskelijan talo 27 00:01:19,970 --> 00:01:21,570 rakennettu samalla tavoin silmukka. 28 00:01:21,570 --> 00:01:24,480 Voit olla varma, että voisimme yhdistää näitä silmukoita osaksi vain yksi, mutta halusin 29 00:01:24,480 --> 00:01:28,180 on joitakin eri segmenttiin koodia vuoksi keskustelua täällä. 30 00:01:28,180 --> 00:01:31,920 >> Nyt näiden silmukoiden, katsotaanpa oikeastaan ​​on toinen, ja tämä on 31 00:01:31,920 --> 00:01:35,210 tarkoitus elämässä on todella tallentaa kaikki nämä nimet ja taloja, jotka ovat 32 00:01:35,210 --> 00:01:39,810 tällä hetkellä RAM levylle muodossa pilkuilla erotetut arvot. 33 00:01:39,810 --> 00:01:42,080 Voit tehdä niin, aiomme käyttää kolme uusia toimintoja - 34 00:01:42,080 --> 00:01:47,450 F auki, F printf, ja F lähellä, joka avaa tiedoston, tulostaa tiedostoon, ja 35 00:01:47,450 --> 00:01:48,440 Sulje tiedosto. 36 00:01:48,440 --> 00:01:49,690 Voimme käyttää niitä seuraavasti. 37 00:01:49,690 --> 00:01:52,110 38 00:01:52,110 --> 00:01:58,240 >> FILE, kokonaan isoilla kirjaimilla, joka on jokseenkin uteliaisuus C, tiedoston saa fopen 39 00:01:58,240 --> 00:02:03,020 quote unquote ja nyt nimi tiedosto, vaikkapa students.CSV, mutta voisin 40 00:02:03,020 --> 00:02:08,150 kutsuvat sitä useimmat mitään, pilkku ja nyt olen menossa määrittää yhden w sisällä 41 00:02:08,150 --> 00:02:09,390 lainausmerkkeihin. 42 00:02:09,390 --> 00:02:13,290 W, kuten arvata saattoi jo, tarkoittaa, että fopen pitäisi avata tätä tiedostoa 43 00:02:13,290 --> 00:02:17,360 kehotti Students.CSV kirjoittamiseen niin että voimme todella säästää 44 00:02:17,360 --> 00:02:19,370 sisältö siihen. 45 00:02:19,370 --> 00:02:23,080 >> Katsotaanpa seuraavaa tarkastusta, jos tiedosto ei ole yhtä kuin nolla. 46 00:02:23,080 --> 00:02:25,860 Koska jos se on, jotain on luultavasti mennyt pieleen jolloin me 47 00:02:25,860 --> 00:02:28,340 ei pitäisi edetä kokeilla tulostaa mitään sitä. 48 00:02:28,340 --> 00:02:33,400 Mutta jos se ei ole nolla, niin sisällä aaltosulkeita aion kerrata 49 00:02:33,400 --> 00:02:38,030 alkaen I on 0 jopa opiskelijoille, ja aion 50 00:02:38,030 --> 00:02:40,180 suurennettava i kunkin iteraation. 51 00:02:40,180 --> 00:02:45,750 Ja sisältä tämän silmukan, aion fprintf jotta tulostaa tiedostoon - 52 00:02:45,750 --> 00:02:47,940 Erityisesti yksi Olen jo avannut - 53 00:02:47,940 --> 00:02:54,650 merkkijono, joka näyttää tältä% s,% s kenoviiva n lähellä lainaus. 54 00:02:54,650 --> 00:02:58,790 >> Ja nyt haluan kytkeä kuhunkin nämä Paikkamerkkien todelliset arvot 55 00:02:58,790 --> 00:03:03,390 Opiskelijan nimi ja talon pilkku operaattori. 56 00:03:03,390 --> 00:03:10,030 Opiskelijat kiinnike i.name, opiskelijat kiinnike i.house lähellä paren 57 00:03:10,030 --> 00:03:11,230 puolipisteellä. 58 00:03:11,230 --> 00:03:16,180 Nyt alle tämän silmukka, olen yksinkertaisesti soitan fclose of tiedosto, jotta 59 00:03:16,180 --> 00:03:18,520 lopulta sulje tiedosto. 60 00:03:18,520 --> 00:03:21,360 >> Nyt kun käytän tätä ohjelmaa, minun ei pitäisi itse nähdä mitään 61 00:03:21,360 --> 00:03:25,010 näyttö, mutta minun olisi pitänyt juoksun jälkeen Tämän ohjelman tiedosto nimeltä 62 00:03:25,010 --> 00:03:29,130 Students.CSV samaan hakemistoon, että Juoksen komento, että olisi 63 00:03:29,130 --> 00:03:32,480 sisältävät pilkulla erotettuna arvoluetteloja. 64 00:03:32,480 --> 00:03:34,790 Katsotaanpa katsomaan. 65 00:03:34,790 --> 00:03:41,690 >> Tee structs 1. / Structs1 opiskelijan Nimi, sanokaamme David, 66 00:03:41,690 --> 00:03:43,140 hän elää Mather. 67 00:03:43,140 --> 00:03:46,890 Opiskelijan nimi, sanotaanko, Lauren, hän asuu Leverett. 68 00:03:46,890 --> 00:03:50,800 Opiskelijan nimi, sanotaanko, Rob, hän elää Kirkland. 69 00:03:50,800 --> 00:03:54,050 Nyt, jälleen, kuten odotettua, ei näy mitään tapahtuneen, mutta haluan 70 00:03:54,050 --> 00:03:58,790 mennä eteenpäin komentoriville ja tyyppi g muokkaa students.CSV toivoo, että 71 00:03:58,790 --> 00:04:00,850 että tiedosto todellakin olemassa. 72 00:04:00,850 --> 00:04:07,010 >> Gedit students.CSV ENTER, ja todellakin, huomaa, että tiedosto, joka sisältää pelkästään 73 00:04:07,010 --> 00:04:11,320 tekstiä, mutta teksti pilkulla erotettuna kunkin kentän, todellakin olemassa. 74 00:04:11,320 --> 00:04:14,530 Ja jos käytimme, ei CS50 laite, mutta tutumpi Mac tai 75 00:04:14,530 --> 00:04:18,080 PC, käy ilmi, että voisimme todellakin avaa tämä CSV-tiedoston kanssa enemmän 76 00:04:18,080 --> 00:04:20,400 tuttu ohjelma kuten Excel tai Numerot. 77 00:04:20,400 --> 00:04:22,906