Организация параллельных потоков. Часть 2 | страница 20



5.1. Команда DIR

Рассмотрим для примера работу с командой DIR. Эта команда выводит на экран содержимое директории, то есть список файлов в текущем каталоге. Название команды — это сокращение английского слова DIRECTORY.

Задание. Прочитайте в английской версии Википедии начало статьи «Directory (computing)» и выясните, что такое «директория». Переключитесь на русский вариант статьи и выясните, какими словами может называться этот объект.


Познакомимся с командой DIR. Переходим в командное окно и вводим нашу команду. Сейчас мы вводим саму команду без параметров (рис. 5.1). Получаем сведения про текущий диск, папку и файлы.


Рис. 5.1. Команда DIR без параметров


Чтобы узнать подробности о нашей команде, вызываем её с параметром /? (рис. 5.2). То, что вводят после имени команды, называют разными словами: параметры, ключи, опции и т. п.

Нам сообщают, что делает наша команда, какой у неё формат вызова и что делают разные ключи. Видим, что параметры нужно вводить через пробел после команды.


Рис. 5.2. Справка по использованию команды


Задание. Вызовите справку и выясните, что делают параметры /B, /O и /X. Вызовите команду DIR по очереди с каждым из этих ключей.

5.2. Чтение параметров

При запуске программы на выполнение можно получить параметры командной строки (command-line arguments). Для этого в начале программы в заголовке главной функции main указывают аргументы argc и argv:

int main (int argc, char* argv []).

argc — сокращение от выражения arguments count (the count of arguments). Это количество параметров командной строки. Если argc равен 1, значит при вызове вводили только имя исполняемого файла.

argv — сокращение от arguments values (the values of the arguments). Это массив указателей на строки символов. Каждый аргумент командной строки — это строка, состоящая из одного или нескольких символов. Квадратные скобки после argv говорят о том, что это массив. Звёздочка — что это указатель. Таким образом, argv указывает на первый элемент массива. А размер этого массива мы узнаём из предыдущего параметра argc.

Напомним, что нумерация элементов массива в языке программирования Си начинается с нуля. Таким образом, argv [0] — это имя запущенной программы (файла типа EXE), argv [1] — это первый аргумент (параметр) после имени файла и т. д.

Составим программу, которая читает параметры командной строки и выводит их на экран (рис. 5.3).

Вначале мы выводим на экран количество аргументов (строка 5). Это значение переменной