1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> Speak: Hittills i program vi har skrivet, har vi förklarat huvud som 3 00:00:03,230 --> 00:00:04,940 int main tomrum. 4 00:00:04,940 --> 00:00:07,600 Och hela den här tiden har det tomrum helt enkelt varit anger att 5 00:00:07,600 --> 00:00:10,870 Programmet tar inte någon kommandoradsargument. 6 00:00:10,870 --> 00:00:14,180 Med andra ord, när en användare kör en program, kan han eller hon ge kommandot 7 00:00:14,180 --> 00:00:18,130 line argument genom att skriva ytterligare ord eller fraser efter programmets 8 00:00:18,130 --> 00:00:19,420 namnet vid prompten. 9 00:00:19,420 --> 00:00:22,980 >> Tja, om du vill att ditt program till ta kommandoradsargument, en eller 10 00:00:22,980 --> 00:00:26,960 fler sådana ord, måste vi byta ut annullera med ett par argument. 11 00:00:26,960 --> 00:00:28,630 Så låt oss göra det. 12 00:00:28,630 --> 00:00:32,170 Inkludera CS50.h. 13 00:00:32,170 --> 00:00:35,760 Inkludera standard io.h. 14 00:00:35,760 --> 00:00:40,830 Int, huvud, och nu i stället för tomrum, Jag kommer att ange en int som heter 15 00:00:40,830 --> 00:00:45,800 argc, och en matris med strängar kallas argv. 16 00:00:45,800 --> 00:00:48,240 >> Nu argc och argv är helt enkelt konventioner. 17 00:00:48,240 --> 00:00:50,530 Vi kunde ha kalla dessa argument mest vad vi vill. 18 00:00:50,530 --> 00:00:54,050 Men vad som är viktigt är att argc är en int, eftersom per definition, är det 19 00:00:54,050 --> 00:00:57,810 kommer att innehålla argument räknas, antalet ord totalt att 20 00:00:57,810 --> 00:00:59,830 användare har skrivit på sin prompt. 21 00:00:59,830 --> 00:01:04,310 >> Argv, under tiden, argument vektor, är kommer att faktiskt vara en array lagrar 22 00:01:04,310 --> 00:01:08,460 alla dessa ord som användaren har skrivit på sin prompt. 23 00:01:08,460 --> 00:01:10,920 Låt oss fortsätta att göra något nu med en eller flera av dessa 24 00:01:10,920 --> 00:01:12,090 kommandoradsargument. 25 00:01:12,090 --> 00:01:16,440 Framför allt, låt oss gå vidare och skriva ut oavsett ord som användaren skriver 26 00:01:16,440 --> 00:01:20,380 efter programmets namn vid prompten. 27 00:01:20,380 --> 00:01:26,940 >> Öppet fäste, sluten fäste, tryck f, procent s, snedstreck n, kommatecken. 28 00:01:26,940 --> 00:01:30,930 Och nu måste jag berätta för print f vad värde för att ansluta till det platshållaren. 29 00:01:30,930 --> 00:01:35,030 Jag vill att det första ordet som användaren har skrev efter programmets namn. 30 00:01:35,030 --> 00:01:39,550 Och så ska jag ange argv fäste 1, stängd 31 00:01:39,550 --> 00:01:41,250 parentes, semikolon. 32 00:01:41,250 --> 00:01:43,710 >> Nu, varför fäste 1 och inte konsol 0? 33 00:01:43,710 --> 00:01:47,410 Jo, det visar sig, lagras automatiskt i argv 0 kommer att bli det 34 00:01:47,410 --> 00:01:49,040 programmets verkliga namn. 35 00:01:49,040 --> 00:01:52,600 Så det första ordet som användaren skriver efter programmets namn är, genom 36 00:01:52,600 --> 00:01:55,410 konvention, kommer att bli lagras i argv 1. 37 00:01:55,410 --> 00:01:58,800 >> Låt oss nu sammanställa och köra programmet. 38 00:01:58,800 --> 00:02:08,080 Gör argv 0 dot snedstreck argv 0, och nu ett ord som hej, anger. 39 00:02:08,080 --> 00:02:09,330 Och där har vi det, hej. 40 00:02:09,330 --> 00:02:11,332