ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. Аргумент командной строки – это информация, которая вводится в командной строке операционной системы вслед за именем программы [1].
Аргумент командной строки – это информация, которая вводится в командной строке операционной системы вслед за именем программы [1]. В системных средах, поддерживающих язык программирования С, существует способ передавать в программу аргументы или параметры командной строки при запуске программы на выполнение [2]. Для этого в главную функцию main() включают два аргумента, обычно argc и argv. Первый (от англ. argument count – «счетчик аргументов») содержит количество аргументов командной строки, с которыми была запущена программа. Второй (от англ. argument vector – «вектор аргументов») указывает на массив символьных строк, содержащих сами аргументы, – по одному в строке. В общем случае имена аргументов могут быть произвольными. Формально можно определить следующий прототип функции main() с параметрами int main (int argc, char**argv[]); Второй параметр функции main() представляет собой многоуровневую систему указателей. В связи с этим можно применить другой способ задания параметров функции main(), а именно int main (int argc, char***argv); Каждый указатель значения типа char ссылается на одну из строк командной строки, при этом argv[0] указывает на имя команды (исполняемой программы), argv[1] – на первый аргумент командной строки, argv[2] – на второй аргумент и т. д. [3]. Аргументами командной строки могут быть исполняемые файлы. Из программы можно запустить на выполнение другую программу, новый процесс. Для этого существуют специальные функции библиотеки «C Run–Time Library Reference» системы Visual Studio (которую используем в качестве компилятора языка С). Командная оболочка операционной системы Windows использует интерпретатор команд cmd.exe, который загружает приложения и направляет поток данных между приложениями, для перевода введенной команды в понятный системе код. Консоль командной строки присутствует во всех версиях операционных систем Windows. В среде разработки MS Visual Studio 2010 аргументы командной строки можно задать в самой среде, для чего следует произвести соответствующую настройку. Предположим, что мы хотим создать проект под именем tcmd, чтобы он принимал аргументы командной строки, например, "Example 1" и E:\forma.exe. Для этого после (или во время) разработки проекта обратимся к закладке, показанной на рис. 21.1. Параметры или аргументы командной строки должны вводиться через пробелы. В случае если параметр представляет собой строку с пробелами, его следует взять в двойные кавычки. Использование указанной возможности интегрированной среды разработки позволяет произвести отладку программы с аргументами командной строки. В дальнейшем задание параметров в соответствии с рис. 21.1 это необязательно. Программа должна сама подхватывать аргументы командной строки, определенные с помощью утилиты cmd.exe (просто cmd) операционной системы. Командную строку операционной системы Windows можно запустить следующими способами: 1) Пуск ® Программы (все программы) ® Стандартные ® Командная строка 2) Пуск ® Выполнить ® (ввести) cmd.
Рис. 21.2. Пример ввода аргументов командной строки Windows Если подготовлена программа, в которой функция main() принимает два аргумента, то из командной строки можно передать, например, некоторые исполняемые файлы, такие как notepad.exe, winword.exe, чтобы появилась возможность открыть «Блокнот» или документ «Word».
|