1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> Tagapagsalita: Up hanggang ngayon, sa mga programa hindi namin nakasulat, na ipinahayag namin pangunahing bilang 3 00:00:03,230 --> 00:00:04,940 int pangunahing walang bisa. 4 00:00:04,940 --> 00:00:07,600 At lahat ng oras na ito, na walang bisa ay may lamang na pagtukoy na ang 5 00:00:07,600 --> 00:00:10,870 programa ay hindi gumawa ng anumang utos argumento linya. 6 00:00:10,870 --> 00:00:14,180 Sa ibang salita, kapag tumatakbo ang isang gumagamit ng isang programa, siya ay maaaring magbigay ng utos 7 00:00:14,180 --> 00:00:18,130 argumento linya sa pamamagitan ng pagsusulat ng mga karagdagang salita o parirala pagkatapos ng program 8 00:00:18,130 --> 00:00:19,420 pangalanan sa prompt. 9 00:00:19,420 --> 00:00:22,980 >> Well, kung nais mo ang iyong mga programa sa tumagal ng mga argumento command line, ang isa o 10 00:00:22,980 --> 00:00:26,960 higit pang mga naturang salita, kailangan naming palitan walang bisa sa loob ng ilang mga argumento. 11 00:00:26,960 --> 00:00:28,630 Kaya sabihin gawin iyon. 12 00:00:28,630 --> 00:00:32,170 Isama CS50.h. 13 00:00:32,170 --> 00:00:35,760 Isama ang standard io.h. 14 00:00:35,760 --> 00:00:40,830 Int, pangunahing, at ngayon sa halip na walang bisa, Pupunta ako upang tukuyin ang isang int tinatawag na 15 00:00:40,830 --> 00:00:45,800 argc, at isang array ng mga string na tinatawag argv. 16 00:00:45,800 --> 00:00:48,240 >> Ngayon, argc at argv ay simpleng balarila. 17 00:00:48,240 --> 00:00:50,530 Maaari naming nai tumawag sa mga argumento pinaka-anumang nais namin. 18 00:00:50,530 --> 00:00:54,050 Ngunit kung ano ang mahalaga ay na argc ay isang int, dahil sa pamamagitan ng kahulugan, ito ay 19 00:00:54,050 --> 00:00:57,810 pagpunta sa maglaman ang mga bilang argument, ang bilang ng mga salita sa kabuuan na ang 20 00:00:57,810 --> 00:00:59,830 user ay nai-type sa kanyang prompt. 21 00:00:59,830 --> 00:01:04,310 >> Argv, samantala, argumento vector, ay pagpunta sa aktwal na maging isang array sa pag-iimbak 22 00:01:04,310 --> 00:01:08,460 lahat ng mga salita na ang gumagamit ay may nai-type sa kanyang prompt. 23 00:01:08,460 --> 00:01:10,920 Ni magpatuloy upang gawin ang isang bagay na ngayon Hayaang may isa o higit pa sa mga 24 00:01:10,920 --> 00:01:12,090 utos argumento linya. 25 00:01:12,090 --> 00:01:16,440 Sa partikular, sabihin sige at i-print kahit anong uri ng salita ang user 26 00:01:16,440 --> 00:01:20,380 pagkatapos ng pangalan ng program sa prompt. 27 00:01:20,380 --> 00:01:26,940 >> Buksan ang bracket, closed bracket, naka-print f, porsiyento s, backslash n, kuwit. 28 00:01:26,940 --> 00:01:30,930 At ngayon ay kailangan ko upang sabihin sa naka-print na f ano halaga mag-plug in na placeholder. 29 00:01:30,930 --> 00:01:35,030 Gusto kong ang unang salita na ang gumagamit ay may nai-type pagkatapos ng pangalan ng program. 30 00:01:35,030 --> 00:01:39,550 At kaya ako pupunta upang tukuyin argv bracket 1, sarado 31 00:01:39,550 --> 00:01:41,250 panaklong, tuldok-kuwit. 32 00:01:41,250 --> 00:01:43,710 >> Ngayon, bakit bracket 1 at hindi bracket 0? 33 00:01:43,710 --> 00:01:47,410 Well, ito ay lumiliko out, awtomatikong naka-imbak sa argv 0 ay magiging ang 34 00:01:47,410 --> 00:01:49,040 aktwal na pangalan ng program. 35 00:01:49,040 --> 00:01:52,600 Kaya ang unang salita na uri ng gumagamit pagkatapos ng pangalan ng program ay, sa pamamagitan ng 36 00:01:52,600 --> 00:01:55,410 convention, magiging naka-imbak sa argv 1. 37 00:01:55,410 --> 00:01:58,800 >> Sabihin ngayon compile at patakbuhin ang program na ito. 38 00:01:58,800 --> 00:02:08,080 Gawing argv 0 tuldok slash argv 0, at ngayon ng isang salita tulad ng kumusta, ipasok. 39 00:02:08,080 --> 00:02:09,330 At doon ay mayroon kaming ito, kumusta. 40 00:02:09,330 --> 00:02:11,332