>> DAVID J. MALAN: Otetaan asiat askeleen pidemmälle, nyt.
Oletetaan, että en vain halua tulostaa kaikki minun ohjelman
komentoriviargumentteja.
Mutta minä, sen sijaan, haluavat tulostaa kaikki yksittäisiä merkkejä kussakin
minun komentoriviargumentteja, yksi kullekin line, niin että kun käynnissä tämän
ohjelma, en yksinkertaisesti näe virtana Kuvaruudun merkkien että
kollektiivisesti ovat minun järjestyksessä komentoriviargumentteja.
>> No, miten voin tehdä tämän?
Voin pitää ehjänä minun kaareen ennen jolloin minä Iteratiivinen alkaen i asti
Argc jotta integroida yli komentoriviargumentteja itse.
Mutta nyt, kussakin iterointia, että silmukka, minun täytyy nyt kerrata kullakin
merkkiä tai merkkiä tietyllä merkkijono.
Niin tehdä, että tarvitsen vielä yhden silmukan.
>> Katsotaanpa lisätä se.
int, kutsukaamme sitä j, vastaa 0.
Nyt aion tarvitse integroitua asti pituus
nykyinen merkkijono ARGV.
Joten annan itselleni toisen paikallisen muuttuja, me kutsumme sitä n ja aseta
että sama merkkijono pituus nykyinen argumentti, joka tulee olemaan
löytyy ARGV kiinnike i puolipiste.
>> Haluaisin nyt kerrata alkaen j ylös kunnes n seuraa
inkrementoinnin jokaisen iteraation.
Katsotaanpa nyt tulostaa yksittäiset Kuvaruudun merkkien.
Printf% c tällä kertaa, jota seuraa uusi line, lähellä lainaus, pilkku, ja nyt minä
tarvitsevat j: nnen merkin in i. argumentti.
>> Joten saada aikaa, että voin vain Määritä ARV kiinnike I
saada i. argumentti.
Ja sitten voin sukeltaa yhdessä tasossa syvemmälle ja tehdä toissijainen indeksi
kiinnike j, lähellä suluissa, puolipiste, Save.
Ja katsotaanpa nyt koota ja suorita tämä ohjelma.
>> Tee ARGV2 -
ei aivan sitä mitä odotin.
Katsotaanpa selaamalla ylös ensimmäiseen näistä virheilmoituksista.
Ja punaisella täällä, näemme virhe, implisiittisesti julistamisesta kirjastofunktion
strlen tyypin -
Odota hetki.
Tämä on ensimmäinen kerta, kun olen käyttää strlen, enkä ennakoida
haluavat sitä aluksi, joten en sisällyttää header-tiedosto, joka ilmoittaa
merkkijonon pituus toiminto.
>> Joten yläreunassa minun arkistoida, muistaa, minulla on CS50.h.
Minulla on standardi io.h.
Mutta näyttää siltä, ​​ja Tiedän tämän lukeminen asiakirjat, että tarvitsen
kolmasosaa header-tiedosto, jos olen todellakin haluat käyttää strlen toimintoa.
Tämä toiminto on ilmoitettu string.h.
>> Katsotaanpa tallenna tiedosto, kääntää ja ajaa.
Ja tällä kertaa emme vain Katso kaikki argumentit.
Me sen sijaan nähdä kaikki argumentit yksi merkki kerrallaan.