Ноу Інти, лекція, використання аргументів командного рядка в с

Анотація: В лекції необхідно вивчити способи передачі аргументів командного рядка операційної системи Windows в програму, в якій передбачено зчитування кількості аргументів і висновок імен цих аргументів з можливістю запуску додатків (аргументів).

Теоретична частина

Аргумент командного рядка - це інформація. яка вводиться в командному рядку операційної системи слідом за ім'ям програми [21.1].

У системних середовищах, що підтримують мову програмування С. існує спосіб передавати в програму аргументи або параметри командного рядка при запуску програми на виконання [21.2]. Для цього в головну функцію main () включають два аргументи, зазвичай argc і argv. Перший (від argument count - лічильник аргументів) містить кількість аргументів командного рядка. з якими була запущена програма. Другий (від argument vector - вектор аргументів) вказує на масив символьних рядків, що містять самі аргументи, - по одному в рядку. У загальному випадку імена аргументів можуть бути довільними.

Формально можна визначити наступний прототип функції main () з параметрами:

Другий параметр функції main () висловлює собою багаторівневу систему покажчиків. У зв'язку з цим можна визначити інший спосіб завдання параметрів функції main (), а саме

Кожен покажчик на значення типу char посилається на одному з полів командного рядка, при цьому argv [0] вказує на ім'я команди (виконуваної програми), argv [1] - на перший аргумент командного рядка, argv [2] - на другий аргумент і так далі [21.3].

В якості прийнятих аргументів командного рядка можуть бути виконувані файли. Можна з програми запустити на виконання іншу програму, запустити новий процес. Для цього існують спеціальні функції бібліотеки "C Run-Time Library Reference" системи Visual Studio (яку використовуємо в якості компілятора мови С).

Командна оболонка операційної системи Windows використовує інтерпретатор команд cmd.exe, який завантажує додатки і направляє потік даних між додатками, для перекладу введеної команди в зрозумілий системі код. Консоль командного рядка присутня у всіх версіях операційних систем Windows.

Ноу Інти, лекція, використання аргументів командного рядка в с


Мал. 21.1. Приклад настройки і завдання аргументів командного рядка

Параметри або аргументи командного рядка повинні вводитися через прогалини. У разі, якщо параметр є рядком з пробілами, то його слід взяти в подвійні лапки.

Використання зазначеної можливості інтегрованого середовища розробки дозволяє зробити налагодження програми з аргументами командного рядка. Надалі завдання параметрів відповідно до рис. 21.1 не обов'язково. Програма повинна сама підхоплювати аргументи командного рядка. визначені за допомогою утиліти cmd.exe (просто cmd) операційної системи.

Командний рядок операційної системи Windows можна запустити наступними способами:

  1. Пуск Програми (всі програми) Стандартні Командний рядок
  2. Пуск Виконати (ввести) cmd

Параметри, представлені на рис. 21.1. можна ввести з командного рядка операційної системи Windows. як показано на рис. 21.2.


Мал. 21.2. Приклад введення аргументів командного рядка Windows

Якщо підготовлена ​​програма. в якій функція main () приймає два аргументи, то з командного рядка можна передати, наприклад, деякі виконувані файли, такі як notepad.exe, winword.exe, щоб можна було відкрити "Блокнот" або документ "Word".

Практична частина