Организация параллельных потоков. Часть 2 | страница 21
Затем мы организуем цикл от 0 до (argc — 1) и выводим номер и значение аргументов. Для вывода строки символов на экран мы используем формат %s — от слова string — «строка».
Рис. 5.3. Чтение и вывод параметров
Запускаем программу из среды разработки
Ctrl + F5.
Рассматриваем результаты (рис. 5.4).
У нас один параметр командной строки.
Получается, что исполняемый файл был запущен на выполнение с указанием полного пути, включая имя диска и все каталоги.
Рис. 5.4. Запуск из среды разработки
Задание. Составьте программу (рис. 5.3) и запустите её из среды разработки.
Среда разработки позволяет нам проводить отладку программы (debugging) с передачей параметров командной строки.
Открываем свойства проекта:
Project — Properties.
В окне параметров проекта переходим к следующему пункту:
Configuration Properties — Debugging — Command Arguments — Edit (рис. 5.5).
Рис. 5.5. Аргументы командной строки
Далее в окне Command Arguments вводим параметры, разделяя их пробелом (рис. 5.6).
Нажимаем OK.
Рис. 5.6. Ввод аргументов
Снова запускаем программу из среды разработки.
Теперь на экран выводятся все наши параметры (рис. 5.7).
Убеждаемся, что программа распознала параметры и вывела их на экран.
Удаляем наши параметры в свойствах проекта.
Рис. 5.7. Вывод параметров
Задание. Задайте несколько параметров командной строки для отладки и запустите программу из среды разработки.
Мы убедились, что программа работает.
Запустим её в командном окне.
Указываем несколько параметров через пробел и рассматриваем результаты (рис. 5.8).
Среди прочего, мы видим, было ли указано расширение имени фала при запуске программы.
Рис. 5.8. Вывод аргументов
Задание. Запустите программу в командном окне с несколькими аргументами и рассмотрите результаты.
5.3. Использование параметров
Мы научились читать параметры (аргументы) командной строки. Теперь разберёмся с тем, как делать «разбор» (parsing) этих строк. Нам нужно взять строку и «вытащить» из неё число.
Будем использовать функцию преобразования строки символов в целое число:
int atoi (const char *str).
Название функции atoi можно расшифровать так:
Convert «a» (string of symbols) to integer.
Текст программы приводится на рис. 5.9.
Мы возьмём первый параметр и преобразуем его в целое число (строка 4).
Затем выведем исходную строку символов (строка 5) и полученное число (строка 6).
В нашей программе мы не проверяем количество аргументов. Конечно же, в более серьёзных приложениях такая проверка нужна обязательно.