1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:02,870 >> DAVID J. MALAN: Antag nu att vi vill för att skriva ut alla kommandoraden 3 00:00:02,870 --> 00:00:05,900 argument som en användare skriver på snabb och inte bara den första 4 00:00:05,900 --> 00:00:08,710 ord som han eller hon slag efter programmets namn. 5 00:00:08,710 --> 00:00:12,480 Jo, för att göra detta behöver vi helt enkelt en välbekant konstruktion, en slinga, och A 6 00:00:12,480 --> 00:00:14,070 välbekant printf uttalande. 7 00:00:14,070 --> 00:00:16,750 Så låt oss kombinera de två - 8 00:00:16,750 --> 00:00:17,670 för. 9 00:00:17,670 --> 00:00:22,210 >> Och nu vill jag att iterera över alla kommandoradsargumenten i argv. 10 00:00:22,210 --> 00:00:25,300 Nu lyckligtvis, jag har tillgång att det totala antalet i ARGC. 11 00:00:25,300 --> 00:00:26,830 Så låt oss börja där. 12 00:00:26,830 --> 00:00:35,140 >> int jag får 0, jag är mindre än argc, i + +. 13 00:00:35,140 --> 00:00:38,170 Nu looping konstruktionen jag har skapat här är helt enkelt att integrera från 14 00:00:38,170 --> 00:00:42,800 noll på upp till det totala antalet argument i argv. 15 00:00:42,800 --> 00:00:45,580 Och nu behöver vi något inom varje variant av denna slinga. 16 00:00:45,580 --> 00:00:50,430 Låt oss helt enkelt skriva ut i: te sådant argument i argv. 17 00:00:50,430 --> 00:00:57,960 >> Öppna konsol nära fästet printf% s omvänt snedstreck n nära citat kommatecken. 18 00:00:57,960 --> 00:00:59,830 Och nu behöver jag för att koppla in värdet. 19 00:00:59,830 --> 00:01:04,430 Så om jag vill ha den i: te argumentet i argv, som kan uttryckas som argv 20 00:01:04,430 --> 00:01:08,370 fäste i, nära parentes, semikolon. 21 00:01:08,370 --> 00:01:11,930 Låt oss spara filen, kompilera det, och köra det. 22 00:01:11,930 --> 00:01:15,980 >> Gör ARGV1 dot slash ARGV1. 23 00:01:15,980 --> 00:01:19,150 Men innan jag slog in, skulle jag förmodligen ge några ytterligare ord 24 00:01:19,150 --> 00:01:20,320 vid kommandoprompten. 25 00:01:20,320 --> 00:01:22,710 Så jag ska till något som [? foo,?] 26 00:01:22,710 --> 00:01:24,050 bar, och baz. 27 00:01:24,050 --> 00:01:26,570 Och nu ska jag slå Enter. 28 00:01:26,570 --> 00:01:30,340 Som väntat, ser jag inte bara den programmets namn, vilket är i ARGV0. 29 00:01:30,340 --> 00:01:32,880 Jag ser också [? foo,?] bar och baz. 30 00:01:32,880 --> 00:01:34,597