Язык Си в примерах/Использование аргументов командной строки: различия между версиями

Содержимое удалено Содержимое добавлено
Удалена запись, оставленная вандалом.
м Замена <tt /> на <code />; избыточные <big /> и <font /> вокруг <source />; {{SUBPAGENAME}}; пробелы.
Строка 2:
 
== Аргументы командной строки ==
Программы могут принимать аргументы. Ниже приведен пример программы <ttcode>argv</ttcode>, которая печатает список аргументов,
которые были переданы ей в командной строке.
Пример ее работы:
Строка 15:
 
=== Пример 1 ===
<big><source lang="c">
/*
Build me with
Строка 31:
return 0;
}
</source></big>
 
Например стандартная программа 'ls' в Linux в качестве аргумента
принимает имена директорий, содержимое которых нужно вывести в стандартный поток вывода. Команда
 
bash$ ls /home/user
 
выведет содержимое директории '/home/user'.
 
Команда 'ls' имеет множество опций, которые можно передавать в командной строке. О них вы можете узнать,
запустив команду 'ls' с опцией '-h':
 
bash$ ls -h
Строка 55:
== Подробнее об аргументах командной строки ==
 
Основной функцией в программе на языке Си является функция <ttcode>main()</ttcode>. Мы уже познакомились с простейшим способом объявления этой функции:
 
<big><source lang="c">
/*
* Простейшая форма main()
Строка 67:
return 0;
}
</source></big>
 
Для того, чтобы ваша программа могла анализировать параметры, передаваемые ей через командную строку, функцию main() следует описать несколько сложнее:
 
<big><source lang="c">
/*
* main() с обработкой параметров
Строка 81:
return 0;
}
</source></big>
 
При такой записи, при вызове вашей программы, параметр <ttcode>argc</ttcode> будет содержать количество параметров командной строки '''плюс один'''. Действительные параметры нумеруются с единицы по <ttcode>argc-1</ttcode> включительно (т.е. всего <ttcode>argc-1</ttcode> параметров), параметр под номером ноль является служебным &mdash; он содержит полный путь и имя исполняемого файла вашей программы.
 
Для доступа к параметру под номером <ttcode>i</ttcode> следует писать <ttcode>argv[i]</ttcode>. Выражение <ttcode>argv[i]</ttcode> &mdash; это строка, передаваемая в соответствии с соглашениями языка Си о строках. С ней можно проделывать все операции, как с обычной строкой (её даже можно модифицировать, но это считается дурным тоном!).
 
Вот еще один пример программы, работающей со своей командной строкой:
 
=== Пример 2 ===
<big><source lang="c">
/*
* Пример программы, работающей со своей командной строкой
Строка 119:
return 0;
}
</source></big>
 
== Задачи для самостоятельного решения ==
Строка 131:
==См. также==
* [[Язык Си в примерах/Система счисления|Системы счисления]]
[[Категория:Язык Си в примерах|Использование аргументов командной строки{{SUBPAGENAME}}]]