1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. Malan: Poďme sa veci o krok ďalej, teraz. 3 00:00:02,460 --> 00:00:05,450 Predpokladajme, že nemám len chcem vytlačiť všetky môj program je 4 00:00:05,450 --> 00:00:06,630 argumenty príkazového riadku. 5 00:00:06,630 --> 00:00:10,490 Ale ja, namiesto toho, ak chcete tlačiť všetky jednotlivé znaky v každom 6 00:00:10,490 --> 00:00:14,060 moje argumenty príkazového riadku, jeden na vedenie, tak, že po spustení tejto 7 00:00:14,060 --> 00:00:17,490 Program, som proste vidieť prúd znaky na obrazovke, ktorá sa 8 00:00:17,490 --> 00:00:20,700 súhrnne sú z môjho poradí o argumenty príkazového riadku. 9 00:00:20,700 --> 00:00:21,980 >> No, ako to môžem urobiť? 10 00:00:21,980 --> 00:00:26,540 Môžem mať neporušený môj slučka pred rokom kedy som iteračné od i až do 11 00:00:26,540 --> 00:00:30,060 Argc, aby sa integrovať cez Samotné argumenty príkazového riadku. 12 00:00:30,060 --> 00:00:34,460 Ale teraz, v každej iterácii, ktoré slučky, musím teraz iterácii každý 13 00:00:34,460 --> 00:00:38,550 znaky alebo znaky v určitom reťazci. 14 00:00:38,550 --> 00:00:40,620 Takže k tomu, že potrebujem ešte jednu slučku. 15 00:00:40,620 --> 00:00:42,090 >> Dodajme, že. 16 00:00:42,090 --> 00:00:46,890 pre int, nazvime to j, rovná 0. 17 00:00:46,890 --> 00:00:49,980 Teraz budem musieť integrovať až do dĺžky 18 00:00:49,980 --> 00:00:52,310 Aktuálny reťazec v argv. 19 00:00:52,310 --> 00:00:55,910 Takže dovoľte mi, aby som sám ďalšie miestne premennú, budeme nazývať n, a nastaviť 20 00:00:55,910 --> 00:01:00,120 ktorá sa rovná dĺžke reťazca z prúd argument, ktorý sa bude 21 00:01:00,120 --> 00:01:04,230 nájsť v argv držiaku i bodkočiarku. 22 00:01:04,230 --> 00:01:08,500 >> Dovoľte mi, aby som teraz prechádzať od j up až n nasleduje 23 00:01:08,500 --> 00:01:10,400 prírastok v každom opakovaní. 24 00:01:10,400 --> 00:01:13,850 Poďme sa teraz vytlačiť jednotlivca znaky na obrazovke. 25 00:01:13,850 --> 00:01:21,920 Printf% c tentoraz nasledoval nový linka, v blízkosti citácie, čiarka, a teraz som 26 00:01:21,920 --> 00:01:25,565 Potrebujete j-teho znaku v argumente i-teho. 27 00:01:25,565 --> 00:01:30,240 >> Tak, aby sa na to, že môžem jednoducho špecifikovať ARV držiak aj pre 28 00:01:30,240 --> 00:01:32,050 ten argument, i-ty. 29 00:01:32,050 --> 00:01:36,140 A potom som sa ponoriť do jednej úrovni hlbšej a to sekundárny index 30 00:01:36,140 --> 00:01:40,420 držiak j, zatvoriť zátvorka, bodkočiarka, Save. 31 00:01:40,420 --> 00:01:43,610 A poďme teraz zostaviť a spustiť tento program. 32 00:01:43,610 --> 00:01:46,630 >> Uistite sa ARGV2 - 33 00:01:46,630 --> 00:01:48,440 nie je presne to, čo som očakával. 34 00:01:48,440 --> 00:01:50,740 Poďme sa posunúť do prvej z týchto chybových správ. 35 00:01:50,740 --> 00:01:54,540 A v červenej farbe tu vidíme chyby, implicitne deklarovať funkcie knižnice 36 00:01:54,540 --> 00:01:56,290 strlen s typom - 37 00:01:56,290 --> 00:01:57,380 oh, počkaj. 38 00:01:57,380 --> 00:02:00,340 To je prvýkrát, čo som použil strlen, a ja netušil, 39 00:02:00,340 --> 00:02:04,970 chce to na prvý pohľad, tak som nezahŕňala hlavičkový súbor, ktorý prehlasuje, 40 00:02:04,970 --> 00:02:06,290 vlastnosti dĺžka reťazca. 41 00:02:06,290 --> 00:02:09,419 >> A tak v hornej časti môjho súboru, odvolanie, mám CS50.h. 42 00:02:09,419 --> 00:02:11,080 Mám štandardné io.h. 43 00:02:11,080 --> 00:02:14,500 Ale ukázalo sa, a viem, že to od čítanie dokumentácie, že musím 44 00:02:14,500 --> 00:02:18,320 súbor tretí záhlavie, či som naozaj, Ak chcete použiť funkciu strlen. 45 00:02:18,320 --> 00:02:22,760 Táto funkcia je deklarovaná v string.h. 46 00:02:22,760 --> 00:02:25,230 >> Poďme znovu uložiť súbor, skompilovať a spustiť. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 A tentoraz sme to nielen vidieť každý z argumentov. 49 00:02:35,570 --> 00:02:40,470 Namiesto toho vidíme každý z argumentov jeden znak naraz. 50 00:02:40,470 --> 00:02:43,165