1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> David J. Malan: Uzmimo stvari jedan korak dalje, sada. 3 00:00:02,460 --> 00:00:05,450 Pretpostavimo da sam ne samo žele ispisati sve moj program je 4 00:00:05,450 --> 00:00:06,630 argumente naredbenog retka. 5 00:00:06,630 --> 00:00:10,490 Ali sam, umjesto toga, želimo ispisati sve pojedini likovi u svakoj od 6 00:00:10,490 --> 00:00:14,060 moje argumente naredbenog retka, jedan po linije, tako da je nakon toga pokrenut 7 00:00:14,060 --> 00:00:17,490 Program, jednostavno sam vidjeti tok znakovi na zaslonu koji 8 00:00:17,490 --> 00:00:20,700 kolektivno su iz mog nizu naredbenog retka argumente. 9 00:00:20,700 --> 00:00:21,980 >> Pa, kako mogu to učiniti? 10 00:00:21,980 --> 00:00:26,540 Ja mogu zadržati netaknut moj petlje od prije gdje sam Iterativne iz i do 11 00:00:26,540 --> 00:00:30,060 ARGC kako integrirati više naredbenog retka sami argumenti. 12 00:00:30,060 --> 00:00:34,460 Ali sada, u svakom ponavljanju da petlje, moram sada ponoviti preko svake 13 00:00:34,460 --> 00:00:38,550 od likova ili znakova u određenom nizu. 14 00:00:38,550 --> 00:00:40,620 Pa za to, trebam još jednu petlju. 15 00:00:40,620 --> 00:00:42,090 >> Dodajmo da je. 16 00:00:42,090 --> 00:00:46,890 za int, nazovimo ga j, jednak je 0. 17 00:00:46,890 --> 00:00:49,980 Sada ću morati integrirati do duljine 18 00:00:49,980 --> 00:00:52,310 Trenutna niz u argv. 19 00:00:52,310 --> 00:00:55,910 Zato mi dopustite sebi dati neka druga promjenjiva, mi ćemo ga zvati n, i postaviti 20 00:00:55,910 --> 00:01:00,120 koja je jednaka dužini niza Trenutna argument, koji će biti 21 00:01:00,120 --> 00:01:04,230 naći u argv zagrada i zarezom. 22 00:01:04,230 --> 00:01:08,500 >> Dopustite mi sada ponoviti od j up do nje slijedi 23 00:01:08,500 --> 00:01:10,400 prirast na svakoj iteraciji. 24 00:01:10,400 --> 00:01:13,850 Idemo sada ispisati pojedinca znakovi na zaslonu. 25 00:01:13,850 --> 00:01:21,920 Printf% C ovaj put slijedi novi linija, u neposrednoj blizini citat, zarez, a sada sam 26 00:01:21,920 --> 00:01:25,565 treba j-ti karakter u i-tom argumentu. 27 00:01:25,565 --> 00:01:30,240 >> Tako da se na to, mogu se jednostavno navedite ARV nosač i na 28 00:01:30,240 --> 00:01:32,050 dobiti Ja-og argument. 29 00:01:32,050 --> 00:01:36,140 I onda mogu zaroniti u jednoj razini dublje i to sekundarni indeks 30 00:01:36,140 --> 00:01:40,420 Nosač j, u neposrednoj blizini zagrada, zarez, Save. 31 00:01:40,420 --> 00:01:43,610 I neka je sad sastaviti i pokrenuti ovaj program. 32 00:01:43,610 --> 00:01:46,630 >> Napravite ARGV2 - 33 00:01:46,630 --> 00:01:48,440 nije baš ono što sam očekivao. 34 00:01:48,440 --> 00:01:50,740 Idemo dođite do prve od tih poruka o pogreškama. 35 00:01:50,740 --> 00:01:54,540 A u tu crvenu, vidimo pogrešku, implicitno tvrdeći knjižnica funkcija 36 00:01:54,540 --> 00:01:56,290 strlen s tipom - 37 00:01:56,290 --> 00:01:57,380 oh, čekaj malo. 38 00:01:57,380 --> 00:02:00,340 To je prvi put da sam koristio strlen, a ja ne predviđaju 39 00:02:00,340 --> 00:02:04,970 ga žele u početku, pa nisam uključuje header file koji izjavljuje 40 00:02:04,970 --> 00:02:06,290 Funkcija duljine. 41 00:02:06,290 --> 00:02:09,419 >> Tako je na vrhu moje datoteke, Podsjetimo, imam CS50.h. 42 00:02:09,419 --> 00:02:11,080 Imam standardni io.h. 43 00:02:11,080 --> 00:02:14,500 No, ispostavilo se, i znam to iz čitanjem dokumentacije, da trebam 44 00:02:14,500 --> 00:02:18,320 treći header file, ako sam, doista, želite koristiti funkciju strlen. 45 00:02:18,320 --> 00:02:22,760 Ta funkcija je proglašen u string.h. 46 00:02:22,760 --> 00:02:25,230 >> Idemo resave datoteku, sastaviti i pokrenuti. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 I ovaj put, mi ne samo vidjeti svaku od argumenata. 49 00:02:35,570 --> 00:02:40,470 Umjesto toga vidimo svaki od argumenata jedan znak na vrijeme. 50 00:02:40,470 --> 00:02:43,165