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

C — аргументы командной строки

Некоторые значения из командной строки можно передавать вашим программам на C во время их выполнения. Эти значения называются аргументами командной строки. и во многих случаях они важны для вашей программы, особенно когда вы хотите управлять своей программой извне, а не жестко кодировать эти значения внутри кода.

Аргументы командной строки обрабатываются с помощью аргументов функции main(), где argc относится к количеству переданных аргументов и 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");
   }
}

Когда приведенный выше код компилируется и выполняется с одним аргументом, он дает следующий результат.

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

Когда приведенный выше код компилируется и выполняется с двумя аргументами, он дает следующий результат.

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

Когда приведенный выше код компилируется и выполняется без передачи каких-либо аргументов, он дает следующий результат.

$./a.out
One argument expected

Следует отметить, что argv[0] содержит имя самой программы и argv[1] — указатель на первый предоставленный аргумент командной строки, а *argv[n] — последний аргумент. Если аргументы не указаны, argc будет равен единице, а если вы передадите один аргумент, то argc установлено значение 2.

Вы передаете все аргументы командной строки, разделенные пробелом, но если сам аргумент имеет пробел, вы можете передать такие аргументы, поместив их в двойные кавычки "" или одинарные кавычки ''. Давайте еще раз перепишем приведенный выше пример, где мы будем печатать имя программы, а также передаем аргумент командной строки, заключая двойные кавычки —

#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");
   }
}

Когда приведенный выше код компилируется и выполняется с одним аргументом, разделенным пробелом, но заключенным в двойные кавычки, получается следующий результат.

$./a.out "testing1 testing2"

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

Язык C

  1. Декодер
  2. Аргументы функции Python
  3. Аргументы командной строки Java
  4. Что такое эффективность линии?
  5. Что такое производственная линия?
  6. Что такое линия построения?
  7. Что такое перемычка?
  8. Что такое сборочная линия?
  9. Введение в прецизионную линию продольной резки
  10. Модернизация линии химической упаковки