[apple] аарон хилегас objective c программирование для ios и macos 2012

Page 250

______________________________________________________________________________________ Глава 36. Аргументы командной строки

36. Аргументы командной строки При вызове main() тоже передаются аргументы, которые я так старательно обходил вниманием: int main (int argc, const char * argv[]) { ...

Но теперь вы готовы к знакомству с ними. argv - массив строк С; argc сообщает количество строк в массиве. Что представляют элементы массива? Аргументы командной строки. Программы командной строки, которые мы создавали, запускались из Теrminаlприложения, которое всего лишь предоставляет удобный интерфейс к так называемому командному процессору (shell). Существует несколько разных командных процессоров с похожими именами: csh, sh, zsh и ksh, но почти все пользователи Мас используют bash. При запуске программы из bash после имени программы можно задать любое количество аргументов, разделенных пробелами. Эти аргументы упаковываются в массив argv перед вызовом main (). Честно говоря, программисты Сосоа и iOS редко используют argv и argc. Тем не менее для написания любой вспомогательной программы командной строки вам почти наверняка придется пользоваться ими. Создайте в Xcode новый проект программы командной строки С с именем Affirmation. Программа Affirmation получает два аргумента: имя человека и число n, и n раз выводит сообщение с заданным именем. $ Affirmation Mikey 3 Mikey is cool. Mikey is cool. Mikey is cool.

Прежде чем решать основную задачу, измените функцию main() так, чтобы она выводила каждый из аргументов в аrgv: #include <stdio.h> int main (int argc, const char * argv[]) { for (int i = 0; i < argc; i++) { printf("arg %d = %s\n", i, argv[i]); } return 0; }

250


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.