Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Аргументы командной строки в C: argc, argv и практические примеры

При запуске программы можно передать ей значения через командную строку. Они называются аргументами командной строки и позволяют управлять поведением программы без перекомпиляции.

Обработка происходит через параметры функции main:

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

Базовый пример

#include <stdio.h>

int main(int argc, char *argv[]) {
    if (argc == 2) {
        printf("The argument supplied is %s\n", argv[1]);
    } else if (argc > 2) {
        printf("Too many arguments supplied.\n");
    } else {
        printf("One argument expected.\n");
    }
    return 0;
}

Запуск с одним аргументом:

$ ./a.out testing
The argument supplied is testing

Запуск с двумя аргументами:

$ ./a.out testing1 testing2
Too many arguments supplied.

Запуск без аргументов:

$ ./a.out
One argument expected.

Аргументы с пробелами

Аргументы разделяются пробелами. Если аргумент сам содержит пробелы, заключите его в кавычки:

$ ./a.out "testing1 testing2"

Пример с выводом имени программы

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Program name: %s\n", argv[0]);
    if (argc == 2) {
        printf("The argument supplied is %s\n", argv[1]);
    } else if (argc > 2) {
        printf("Too many arguments supplied.\n");
    } else {
        printf("One argument expected.\n");
    }
    return 0;
}

Результат:

$ ./a.out "testing1 testing2"
Program name: ./a.out
The argument supplied is testing1 testing2

Полезные советы

Язык C

  1. Понимание декодеров: типы, таблицы истинности и практические применения
  2. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  3. Мастерство аргументов командной строки в Java: передача и разбор параметров
  4. Понимание эффективности линии: Ключевые метрики для производства печатных плат
  5. Производственные линии: как конвейеры обеспечивают эффективность производства
  6. Красные линии застройки: понятное руководство для собственников участков
  7. Мостовые отводы (Bridge Taps): как они влияют на качество телефонной связи
  8. Сборочный конвейер: как взаимозаменяемые части обеспечили эффективное массовое производство
  9. Точечные линии продольной резки: передовые автоматизированные системы раскроя рулонов
  10. Оптимизация линий химической упаковки: модернизация для времени работы и отслеживания OEE