>> Дэвид Дж. Малан: Давайте вещи еще один шаг вперед, теперь.
Предположим, что я не просто хочу печатать все мои програмы
аргументы командной строки.
Но я, наоборот, хотите напечатать все отдельные символы в каждой из
мои аргументы командной строки, по одному на линия, так что после запуска этого
Программа, Я просто вижу поток символы на экране, что
коллективно от моего последовательности аргументов командной строки.
>> Ну, как я могу это сделать?
Я могу держать неповрежденным мой цикл от до причем я не итерационные от I вплоть до
ARGC для того, чтобы интегрировать по аргументы сами командной строки.
Но теперь, в каждой итерации, что петля, мне нужно сейчас перебрать каждый
из символов или символов в определенной строки.
Таким образом, чтобы сделать это, мне нужно еще один цикл.
>> Добавим, что.
для междунар, давайте назовем это J, равна 0.
Теперь я собираюсь нужно интегрировать вплоть до длины
текущей строкой в ​​ARGV.
Итак, позвольте мне дать себе еще один местный переменная, мы будем называть его п, и установить
что равно длине строки из ток аргумент, который будет
найти в ARGV кронштейна я запятой.
>> Позвольте мне теперь итерации от J до до н не следует
приращение на каждой итерации.
Давайте теперь распечатать человека символов на экране.
Printf% с на этот раз последовал новый линия, недалеко цитата, запятая, и теперь я
нужно J-й символ в аргументе г-го.
>> Таким образом, чтобы получить на это, я могу просто указать АРВ кронштейн я к
получить аргумент г-ю.
И тогда я могу погрузиться в одном уровне глубже и сделать вторичный индекс
Кронштейн J, закрывающая скобка, точка с запятой, Сохранить.
И давайте теперь скомпилировать и запустить эту программу.
>> Сделать ARGV2 -
не совсем то, что я ожидал.
Давайте прокрутки до первого из этих сообщений об ошибках.
И в красном здесь, мы видим ошибку, неявно объявляя библиотечная функция
STRLEN с типом -
ой, подождите минуту.
Это первый раз, когда я использовал STRLEN, и я не ожидал
желая его сначала, так что я не включают файл заголовка, который объявляет
строка функция длины.
>> Так в верхней части моего файла, Напомним, у меня есть CS50.h.
У меня есть стандартный io.h.
Но, оказывается, и я знаю это по читая документацию, что мне нужно
третий файл заголовка, если я, в самом деле, хотите использовать функцию STRLEN.
Это функция объявлена ​​в string.h.
>> Давайте повторно сохранить файл, компиляция и выполнение.
И на этот раз, мы не просто см. каждого из аргументов.
Мы вместо этого видеть каждого из аргументов один символ за один раз.