1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> DAVID J. Malan: Ni prenu tion unu paŝon pli, nun. 3 00:00:02,460 --> 00:00:05,450 Supozu, ke mi ne volas nur presi cxiujn el mia programo 4 00:00:05,450 --> 00:00:06,630 komandlinia argumentoj. 5 00:00:06,630 --> 00:00:10,490 Sed mi, male, volas presi ĉiujn individuajn karakterojn en ĉiu el 6 00:00:10,490 --> 00:00:14,060 mia komandlinia argumentojn, unu po linio, por ke sur kuranta ĉi 7 00:00:14,060 --> 00:00:17,490 programon, mi simple vidas torenton da signoj sur la ekrano, kiu 8 00:00:17,490 --> 00:00:20,700 kolektive estas mia vico de komanda linio argumentoj. 9 00:00:20,700 --> 00:00:21,980 >> Nu, kiel mi povas fari ĉi tion? 10 00:00:21,980 --> 00:00:26,540 Mi povas subteni nerompita mia buklo de antaux per kiu mi Ripeta de i supren ĝis 11 00:00:26,540 --> 00:00:30,060 ARGC celo integri super la komandlinia argumentoj sin. 12 00:00:30,060 --> 00:00:34,460 Sed nun, ene de ĉiu ripeto de tiu buklo, mi bezonas nun persisti super ĉiu 13 00:00:34,460 --> 00:00:38,550 de la karakteroj aŭ signoj en specifa ŝnuro. 14 00:00:38,550 --> 00:00:40,620 Do fari tion, mi bezonas unu pli buklo. 15 00:00:40,620 --> 00:00:42,090 >> Ni aldonu, ke. 16 00:00:42,090 --> 00:00:46,890 por int, ni nomas ĝin j, egalas 0. 17 00:00:46,890 --> 00:00:49,980 Nun mi iros kaj bezonas por integri supren ĝis la longo de la 18 00:00:49,980 --> 00:00:52,310 Nuna kordo en argv. 19 00:00:52,310 --> 00:00:55,910 Do lasu min doni min alia loka variablo, ni nomas ĝin n, kaj starigis 20 00:00:55,910 --> 00:01:00,120 ke egalas la korda longeco de la Nuna argumento, kiu tuj estos 21 00:01:00,120 --> 00:01:04,230 trovita en argv krampo i punktokomo. 22 00:01:04,230 --> 00:01:08,500 >> Lasu min nun persisti el la j supren ĝis n sekvata de 23 00:01:08,500 --> 00:01:10,400 pliigo je ĉiu ripeto. 24 00:01:10,400 --> 00:01:13,850 Ni nun presi la individuo signoj sur la ekrano. 25 00:01:13,850 --> 00:01:21,920 Printf% c ĉi tempo sekvata de nova linio, proksime citaĵo, komo, kaj nun mi 26 00:01:21,920 --> 00:01:25,565 bezonas la j-a karaktero en la i-a argumento. 27 00:01:25,565 --> 00:01:30,240 >> Do por atingi tion, mi povas simple specifi ARV krampo i al 28 00:01:30,240 --> 00:01:32,050 akiri la i-a argumento. 29 00:01:32,050 --> 00:01:36,140 Kaj tiam mi povas plonĝi en unu nivelo pli profunda kaj faru sekundara indekso de 30 00:01:36,140 --> 00:01:40,420 krampo j, proksime parentezo, punktokomo, Save. 31 00:01:40,420 --> 00:01:43,610 Kaj ni nun kompili kaj kuros ĉi programo. 32 00:01:43,610 --> 00:01:46,630 >> Faru ARGV2 - 33 00:01:46,630 --> 00:01:48,440 Ne tute kion mi ekspektis. 34 00:01:48,440 --> 00:01:50,740 Ni rulumu supren al la unua de tiuj erarmesaĝojn. 35 00:01:50,740 --> 00:01:54,540 Kaj en ruĝa tie, oni vidas eraron, implice deklarante biblioteko funkcio 36 00:01:54,540 --> 00:01:56,290 strlen kun tipo - 37 00:01:56,290 --> 00:01:57,380 oh, atendu momenton. 38 00:01:57,380 --> 00:02:00,340 Tiu estas la unua fojo mi uzis strlen, kaj mi ne anticipis 39 00:02:00,340 --> 00:02:04,970 voli ĝin je la komenco, do mi ne inkluzivas la kaplinio dosiero kiu deklaras 40 00:02:04,970 --> 00:02:06,290 ŝnureto longo funkcio. 41 00:02:06,290 --> 00:02:09,419 >> Do, je la supro de mia dosiero: Memoru, mi havas CS50.h. 42 00:02:09,419 --> 00:02:11,080 Mi havas norma io.h. 43 00:02:11,080 --> 00:02:14,500 Sed rezultas, kaj mi scias, ke ĉi tio legi la dokumentadon, ke mi bezonas 44 00:02:14,500 --> 00:02:18,320 trionon kaplinio dosieron, se mi efektive volas uzi la strlen funkcio. 45 00:02:18,320 --> 00:02:22,760 Tio funkcio estas deklarita en string.h. 46 00:02:22,760 --> 00:02:25,230 >> Ni resave la dosiero, kompili, kaj kuros. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 Kaj cxi tiu tempo, ni ne nur revidos unu el la argumentoj. 49 00:02:35,570 --> 00:02:40,470 Ni anstataŭ vidi ĉiun de la argumentoj unu karaktero samtempe. 50 00:02:40,470 --> 00:02:43,165