1 00:00:00,000 --> 00:00:00,560 2 00:00:00,560 --> 00:00:02,460 >> Дэвід Дж. Малан: Давайце рэчы яшчэ адзін крок наперад, цяпер. 3 00:00:02,460 --> 00:00:05,450 Выкажам здагадку, што я не проста хачу друкаваць усе мае програмы 4 00:00:05,450 --> 00:00:06,630 аргументы каманднага радка. 5 00:00:06,630 --> 00:00:10,490 Але я, наадварот, хочаце надрукаваць усе асобныя сімвалы ў кожнай з 6 00:00:10,490 --> 00:00:14,060 мае аргументы каманднага радка, па адным на лінія, так што пасля запуску гэтага 7 00:00:14,060 --> 00:00:17,490 Праграма, Я проста бачу паток знакі на экране, што 8 00:00:17,490 --> 00:00:20,700 калектыўна ад майго паслядоўнасці аргументаў каманднага радка. 9 00:00:20,700 --> 00:00:21,980 >> Ну, як я магу гэта зрабіць? 10 00:00:21,980 --> 00:00:26,540 Я магу трымаць непашкоджаным мой цыкл ад да прычым я не ітэрацыйныя ад I аж да 11 00:00:26,540 --> 00:00:30,060 ARGC для таго, каб інтэграваць па аргументы самі каманднага радка. 12 00:00:30,060 --> 00:00:34,460 Але цяпер, у кожнай ітэрацыі, што пятля, мне трэба зараз перабраць кожны 13 00:00:34,460 --> 00:00:38,550 з сімвалаў або сімвалаў ў пэўнай радка. 14 00:00:38,550 --> 00:00:40,620 Такім чынам, каб зрабіць гэта, мне трэба яшчэ адзін цыкл. 15 00:00:40,620 --> 00:00:42,090 >> Дадамо, што. 16 00:00:42,090 --> 00:00:46,890 для міжнар, давайце назавем гэта J, роўная 0. 17 00:00:46,890 --> 00:00:49,980 Цяпер я збіраюся трэба інтэграваць аж да даўжыні 18 00:00:49,980 --> 00:00:52,310 бягучай радком у ARGV. 19 00:00:52,310 --> 00:00:55,910 Такім чынам, дазвольце мне даць сабе яшчэ адзін мясцовы зменная, мы будзем называць яго п, і ўсталяваць 20 00:00:55,910 --> 00:01:00,120 што роўна даўжыні радкі з ток аргумент, які будзе 21 00:01:00,120 --> 00:01:04,230 знайсці ў ARGV кранштэйна я коскі. 22 00:01:04,230 --> 00:01:08,500 >> Дазвольце мне цяпер ітэрацыі ад J да да н ня варта 23 00:01:08,500 --> 00:01:10,400 прырашчэнне на кожнай ітэрацыі. 24 00:01:10,400 --> 00:01:13,850 Давайце зараз раздрукаваць чалавека знакаў на экране. 25 00:01:13,850 --> 00:01:21,920 Printf% з на гэты раз адбыўся новы лінія, недалёка цытата, коска, і цяпер я 26 00:01:21,920 --> 00:01:25,565 трэба J-й сімвал у аргуменце г-га. 27 00:01:25,565 --> 00:01:30,240 >> Такім чынам, каб атрымаць на гэта, я магу проста пазначыць АРВ кранштэйны я да 28 00:01:30,240 --> 00:01:32,050 атрымаць аргумент г-ю. 29 00:01:32,050 --> 00:01:36,140 І тады я магу пагрузіцца ў адным узроўні глыбей і зрабіць другасны індэкс 30 00:01:36,140 --> 00:01:40,420 Кранштэйны J, якая зачыняе дужка, кропка з коскі, Захаваць. 31 00:01:40,420 --> 00:01:43,610 І давайце цяпер скампіляваць і запусціць гэтую праграму. 32 00:01:43,610 --> 00:01:46,630 >> Зрабіць ARGV2 - 33 00:01:46,630 --> 00:01:48,440 не зусім тое, што я чакаў. 34 00:01:48,440 --> 00:01:50,740 Давайце пракруткі да першага з гэтых паведамленняў пра памылкі. 35 00:01:50,740 --> 00:01:54,540 І ў чырвоным тут, мы бачым памылку, няяўна абвяшчаючы бібліятэчная функцыя 36 00:01:54,540 --> 00:01:56,290 STRLEN з тыпам - 37 00:01:56,290 --> 00:01:57,380 ой, пачакайце хвіліну. 38 00:01:57,380 --> 00:02:00,340 Гэта першы раз, калі я выкарыстаў STRLEN, і я не чакаў 39 00:02:00,340 --> 00:02:04,970 жадаючы яго спачатку, так што я не ўключаюць файл загалоўка, які аб'яўляе 40 00:02:04,970 --> 00:02:06,290 радок функцыя даўжыні. 41 00:02:06,290 --> 00:02:09,419 >> Так у верхняй частцы майго файла, Нагадаем, у мяне ёсць CS50.h. 42 00:02:09,419 --> 00:02:11,080 У мяне ёсць стандартны io.h. 43 00:02:11,080 --> 00:02:14,500 Але, аказваецца, і я ведаю гэта па чытаючы дакументацыю, што мне трэба 44 00:02:14,500 --> 00:02:18,320 трэці файл загалоўка, калі я, на самай справе, хочаце выкарыстоўваць функцыю STRLEN. 45 00:02:18,320 --> 00:02:22,760 Гэта функцыя аб'яўлена ў string.h. 46 00:02:22,760 --> 00:02:25,230 >> Давайце паўторна захаваць файл, кампіляцыя і выкананне. 47 00:02:25,230 --> 00:02:32,360 48 00:02:32,360 --> 00:02:35,570 І на гэты раз, мы не проста см. кожнага з аргументаў. 49 00:02:35,570 --> 00:02:40,470 Мы замест гэтага бачыць кожнага з аргументаў адзін знак за адзін раз. 50 00:02:40,470 --> 00:02:43,165