1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. MALAN: Otetaan asiat askeleen pidemmälle, nyt. 3 00:00:02,460 --> 00:00:05,450 Oletetaan, että en vain halua tulostaa kaikki minun ohjelman 4 00:00:05,450 --> 00:00:06,630 komentoriviargumentteja. 5 00:00:06,630 --> 00:00:10,490 Mutta minä, sen sijaan, haluavat tulostaa kaikki yksittäisiä merkkejä kussakin 6 00:00:10,490 --> 00:00:14,060 minun komentoriviargumentteja, yksi kullekin line, niin että kun käynnissä tämän 7 00:00:14,060 --> 00:00:17,490 ohjelma, en yksinkertaisesti näe virtana Kuvaruudun merkkien että 8 00:00:17,490 --> 00:00:20,700 kollektiivisesti ovat minun järjestyksessä komentoriviargumentteja. 9 00:00:20,700 --> 00:00:21,980 >> No, miten voin tehdä tämän? 10 00:00:21,980 --> 00:00:26,540 Voin pitää ehjänä minun kaareen ennen jolloin minä Iteratiivinen alkaen i asti 11 00:00:26,540 --> 00:00:30,060 Argc jotta integroida yli komentoriviargumentteja itse. 12 00:00:30,060 --> 00:00:34,460 Mutta nyt, kussakin iterointia, että silmukka, minun täytyy nyt kerrata kullakin 13 00:00:34,460 --> 00:00:38,550 merkkiä tai merkkiä tietyllä merkkijono. 14 00:00:38,550 --> 00:00:40,620 Niin tehdä, että tarvitsen vielä yhden silmukan. 15 00:00:40,620 --> 00:00:42,090 >> Katsotaanpa lisätä se. 16 00:00:42,090 --> 00:00:46,890 int, kutsukaamme sitä j, vastaa 0. 17 00:00:46,890 --> 00:00:49,980 Nyt aion tarvitse integroitua asti pituus 18 00:00:49,980 --> 00:00:52,310 nykyinen merkkijono ARGV. 19 00:00:52,310 --> 00:00:55,910 Joten annan itselleni toisen paikallisen muuttuja, me kutsumme sitä n ja aseta 20 00:00:55,910 --> 00:01:00,120 että sama merkkijono pituus nykyinen argumentti, joka tulee olemaan 21 00:01:00,120 --> 00:01:04,230 löytyy ARGV kiinnike i puolipiste. 22 00:01:04,230 --> 00:01:08,500 >> Haluaisin nyt kerrata alkaen j ylös kunnes n seuraa 23 00:01:08,500 --> 00:01:10,400 inkrementoinnin jokaisen iteraation. 24 00:01:10,400 --> 00:01:13,850 Katsotaanpa nyt tulostaa yksittäiset Kuvaruudun merkkien. 25 00:01:13,850 --> 00:01:21,920 Printf% c tällä kertaa, jota seuraa uusi line, lähellä lainaus, pilkku, ja nyt minä 26 00:01:21,920 --> 00:01:25,565 tarvitsevat j: nnen merkin in i. argumentti. 27 00:01:25,565 --> 00:01:30,240 >> Joten saada aikaa, että voin vain Määritä ARV kiinnike I 28 00:01:30,240 --> 00:01:32,050 saada i. argumentti. 29 00:01:32,050 --> 00:01:36,140 Ja sitten voin sukeltaa yhdessä tasossa syvemmälle ja tehdä toissijainen indeksi 30 00:01:36,140 --> 00:01:40,420 kiinnike j, lähellä suluissa, puolipiste, Save. 31 00:01:40,420 --> 00:01:43,610 Ja katsotaanpa nyt koota ja suorita tämä ohjelma. 32 00:01:43,610 --> 00:01:46,630 >> Tee ARGV2 - 33 00:01:46,630 --> 00:01:48,440 ei aivan sitä mitä odotin. 34 00:01:48,440 --> 00:01:50,740 Katsotaanpa selaamalla ylös ensimmäiseen näistä virheilmoituksista. 35 00:01:50,740 --> 00:01:54,540 Ja punaisella täällä, näemme virhe, implisiittisesti julistamisesta kirjastofunktion 36 00:01:54,540 --> 00:01:56,290 strlen tyypin - 37 00:01:56,290 --> 00:01:57,380 Odota hetki. 38 00:01:57,380 --> 00:02:00,340 Tämä on ensimmäinen kerta, kun olen käyttää strlen, enkä ennakoida 39 00:02:00,340 --> 00:02:04,970 haluavat sitä aluksi, joten en sisällyttää header-tiedosto, joka ilmoittaa 40 00:02:04,970 --> 00:02:06,290 merkkijonon pituus toiminto. 41 00:02:06,290 --> 00:02:09,419 >> Joten yläreunassa minun arkistoida, muistaa, minulla on CS50.h. 42 00:02:09,419 --> 00:02:11,080 Minulla on standardi io.h. 43 00:02:11,080 --> 00:02:14,500 Mutta näyttää siltä, ​​ja Tiedän tämän lukeminen asiakirjat, että tarvitsen 44 00:02:14,500 --> 00:02:18,320 kolmasosaa header-tiedosto, jos olen todellakin haluat käyttää strlen toimintoa. 45 00:02:18,320 --> 00:02:22,760 Tämä toiminto on ilmoitettu string.h. 46 00:02:22,760 --> 00:02:25,230 >> Katsotaanpa tallenna tiedosto, kääntää ja ajaa. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 Ja tällä kertaa emme vain Katso kaikki argumentit. 49 00:02:35,570 --> 00:02:40,470 Me sen sijaan nähdä kaikki argumentit yksi merkki kerrallaan. 50 00:02:40,470 --> 00:02:43,165