1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Frem til nå, i programmene vi har skrevet, har vi erklært hoved som 3 00:00:03,230 --> 00:00:04,940 int main ugyldig. 4 00:00:04,940 --> 00:00:07,600 Og hele denne tiden, har det tomrommet rett og slett vært å spesifisere at 5 00:00:07,600 --> 00:00:10,870 Programmet tar ikke noe kommandolinjeargumentene. 6 00:00:10,870 --> 00:00:14,180 Med andre ord, når en bruker kjører en program, kan han eller hun gi kommandoen 7 00:00:14,180 --> 00:00:18,130 argumenter ved å skrive tilleggs ord eller setninger etter programmets 8 00:00:18,130 --> 00:00:19,420 navn i ledeteksten. 9 00:00:19,420 --> 00:00:22,980 >> Vel, hvis du vil at programmet skal ta kommandolinje argumenter, ett eller 10 00:00:22,980 --> 00:00:26,960 flere slike ord, må vi erstatte ugyldig med et par argumenter. 11 00:00:26,960 --> 00:00:28,630 Så la oss gjøre det. 12 00:00:28,630 --> 00:00:32,170 Inkluder CS50.h. 13 00:00:32,170 --> 00:00:35,760 Inkluder standard io.h. 14 00:00:35,760 --> 00:00:40,830 Int, viktigste, og nå i stedet for ugyldig, Jeg kommer til å spesifisere en int kalt 15 00:00:40,830 --> 00:00:45,800 argc, og en rekke strenger som heter argv. 16 00:00:45,800 --> 00:00:48,240 >> Nå argc og argv er bare konvensjoner. 17 00:00:48,240 --> 00:00:50,530 Vi kunne har kalle disse argumentene de fleste noe vi ønsker. 18 00:00:50,530 --> 00:00:54,050 Men det som er viktig er at argc er en int, fordi per definisjon, er det 19 00:00:54,050 --> 00:00:57,810 kommer til å inneholde argument teller, antall ord i total at 20 00:00:57,810 --> 00:00:59,830 brukeren har skrevet inn på hans eller hennes spørsmål. 21 00:00:59,830 --> 00:01:04,310 >> Argv, i mellomtiden, argument vektor, er kommer til å faktisk være en matrise lagring 22 00:01:04,310 --> 00:01:08,460 alle ordene som brukeren har skrevet på hans eller hennes spørsmål. 23 00:01:08,460 --> 00:01:10,920 La oss fortsette å gjøre noe nå med en eller flere av disse 24 00:01:10,920 --> 00:01:12,090 kommandolinjeargumentene. 25 00:01:12,090 --> 00:01:16,440 Spesielt la oss gå videre og print hva ordet brukeren taster 26 00:01:16,440 --> 00:01:20,380 etter programmets navn ved ledeteksten. 27 00:01:20,380 --> 00:01:26,940 >> Åpen brakett, lukket brakett, print f, prosent s, backslash n, komma. 28 00:01:26,940 --> 00:01:30,930 Og nå trenger jeg å fortelle print f hva verdi å plugge inn som plassholder. 29 00:01:30,930 --> 00:01:35,030 Jeg vil ha det første ordet som brukeren har skrevet etter programmets navn. 30 00:01:35,030 --> 00:01:39,550 Og så kommer jeg til å spesifisere argv brakett 1, lukket 31 00:01:39,550 --> 00:01:41,250 parentes, semikolon. 32 00:01:41,250 --> 00:01:43,710 >> Nå, hvorfor brakett 1 og ikke brakett 0? 33 00:01:43,710 --> 00:01:47,410 Vel, det viser seg, automatisk lagret i argv 0 kommer til å være det 34 00:01:47,410 --> 00:01:49,040 Programmet faktiske navn. 35 00:01:49,040 --> 00:01:52,600 Så det første ordet som brukeren skriver etter at programmet heter, etter 36 00:01:52,600 --> 00:01:55,410 konvensjonen, kommer til å være lagres i argv en. 37 00:01:55,410 --> 00:01:58,800 >> La oss nå samle og kjøre dette programmet. 38 00:01:58,800 --> 00:02:08,080 Gjør argv 0 dot slash argv 0, og nå et ord som hei, angir. 39 00:02:08,080 --> 00:02:09,330 Og der har vi det, hallo. 40 00:02:09,330 --> 00:02:11,332