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