1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> David J. Malan: Paimkime dalykus dar vieną žingsnį, dabar. 3 00:00:02,460 --> 00:00:05,450 Tarkime, kad aš ne tik nori spausdinti visus mano programa s 4 00:00:05,450 --> 00:00:06,630 komandų eilutės argumentai. 5 00:00:06,630 --> 00:00:10,490 Bet aš, vietoj to, norite spausdinti visus atskirų simbolių kiekvienoje iš 6 00:00:10,490 --> 00:00:14,060 mano komandinės eilutės argumentai, po vieną linija, kad ant veikia šis 7 00:00:14,060 --> 00:00:17,490 programa, aš tiesiog pamatyti srautą ženklai ant ekrano, kad 8 00:00:17,490 --> 00:00:20,700 kartu yra mano eilės komandinės eilutės argumentai. 9 00:00:20,700 --> 00:00:21,980 >> Na, kaip aš galiu tai padaryti? 10 00:00:21,980 --> 00:00:26,540 Galiu laikyti sveika mano ciklas nuo iki kuriuo aš kartotinis nuo i iki 11 00:00:26,540 --> 00:00:30,060 Argc siekiant integruoti daugiau patys komandinės eilutės argumentai. 12 00:00:30,060 --> 00:00:34,460 Bet dabar, per kiekvieną, kad iteracijos kilpa, man reikia dabar kartoti per kiekvieną 13 00:00:34,460 --> 00:00:38,550 simbolių ar simbolių konkrečioje eilutėje. 14 00:00:38,550 --> 00:00:40,620 Taigi, kaip tai padaryti, man reikia dar vieną kilpą. 15 00:00:40,620 --> 00:00:42,090 >> Pridėkime, kad. 16 00:00:42,090 --> 00:00:46,890 už int, tegul ją vadina j lygu 0. 17 00:00:46,890 --> 00:00:49,980 Dabar aš ruošiuosi reikia integruoti iki pat ilgio 18 00:00:49,980 --> 00:00:52,310 Dabartinė eilutę argv. 19 00:00:52,310 --> 00:00:55,910 Taigi, leiskite man duoti sau dar vietos kintamasis, mes jį vadiname n, ir nustatyti 20 00:00:55,910 --> 00:01:00,120 kad lygios eilutės ilgis dabartinis argumentas, kuris bus 21 00:01:00,120 --> 00:01:04,230 rasti argv laikikliu i kabliataškiu. 22 00:01:04,230 --> 00:01:08,500 >> Leiskite man dabar kartoti nuo j iki iki n po 23 00:01:08,500 --> 00:01:10,400 prieaugio kiekvienoje iteracijoje. 24 00:01:10,400 --> 00:01:13,850 Tegul dabar pats atsispausdinti asmeniui simbolių ekrane. 25 00:01:13,850 --> 00:01:21,920 Printf% c šį kartą po naujo linija, netoli citata, kablelis, o dabar aš 26 00:01:21,920 --> 00:01:25,565 reikia j-osios charakterį i-osios argumentas. 27 00:01:25,565 --> 00:01:30,240 >> Taigi, norint gauti bent, kad galiu tiesiog nurodyti Arvena laikiklį I 28 00:01:30,240 --> 00:01:32,050 gauti i-tasis argumentas. 29 00:01:32,050 --> 00:01:36,140 Ir tada aš galiu pasinerti vieno lygio giliau ir padaryti vidurinį indeksas 30 00:01:36,140 --> 00:01:40,420 laikiklis j, netoli skliaustelis, kabliataškis, taupyti. 31 00:01:40,420 --> 00:01:43,610 Ir tegul dabar kaupti ir paleisti šią programą. 32 00:01:43,610 --> 00:01:46,630 >> Padaryti ARGV2 - 33 00:01:46,630 --> 00:01:48,440 ne visai tai, ką tikėjausi. 34 00:01:48,440 --> 00:01:50,740 Leiskite slinkite iki pirmojo iš šių klaidų pranešimų. 35 00:01:50,740 --> 00:01:54,540 Ir raudonai čia matome klaidą, netiesiogiai skelbiantis bibliotekos funkcija 36 00:01:54,540 --> 00:01:56,290 strlen su tipo - 37 00:01:56,290 --> 00:01:57,380 oi, palauk. 38 00:01:57,380 --> 00:02:00,340 Tai pirmas kartas, aš naudojamas strlen, ir aš ne numatyti 39 00:02:00,340 --> 00:02:04,970 nori jį pirma, kad aš neįtraukė header failas, kuris pareiškia, 40 00:02:04,970 --> 00:02:06,290 eilutės ilgis funkcija. 41 00:02:06,290 --> 00:02:09,419 >> Tad mano failo viršuje, Prisiminkite, turiu CS50.h. 42 00:02:09,419 --> 00:02:11,080 Turiu standartinį io.h. 43 00:02:11,080 --> 00:02:14,500 Tačiau pasirodo, ir aš žinau, tai iš skaityti dokumentus, kad man reikia 44 00:02:14,500 --> 00:02:18,320 trečiosios antraštės failą, jei aš, tiesą sakant, norite naudoti strlen funkcija. 45 00:02:18,320 --> 00:02:22,760 Ši funkcija deklaruojamos string.h. 46 00:02:22,760 --> 00:02:25,230 >> Leiskite išsaugokite failą kaupti, ir paleisti. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 Ir šį kartą, mes ne tik matyti vienas iš argumentų. 49 00:02:35,570 --> 00:02:40,470 Mes vietoj matyti vienas iš argumentų vienas simbolis vienu metu. 50 00:02:40,470 --> 00:02:43,165