Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

C - Argumentos da linha de comando


É possível passar alguns valores da linha de comando para seus programas C quando eles são executados. Esses valores são chamados de argumentos de linha de comando e muitas vezes eles são importantes para o seu programa, especialmente quando você deseja controlar seu programa de fora, em vez de codificar esses valores dentro do código.

Os argumentos da linha de comando são tratados usando argumentos da função main() onde argc refere-se ao número de argumentos passados ​​e argv[] é um array de ponteiros que aponta para cada argumento passado para o programa. A seguir está um exemplo simples que verifica se há algum argumento fornecido a partir da linha de comando e executa as ações de acordo -
#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");
   }
}

Quando o código acima é compilado e executado com um único argumento, ele produz o seguinte resultado.
$./a.out testing
The argument supplied is testing

Quando o código acima é compilado e executado com dois argumentos, ele produz o seguinte resultado.
$./a.out testing1 testing2
Too many arguments supplied.

Quando o código acima é compilado e executado sem passar nenhum argumento, ele produz o seguinte resultado.
$./a.out
One argument expected

Deve-se notar que argv[0] contém o nome do próprio programa e argv[1] é um ponteiro para o primeiro argumento de linha de comando fornecido e *argv[n] é o último argumento. Se nenhum argumento for fornecido, argc será um, e se você passar um argumento, argc é fixado em 2.

Você passa todos os argumentos da linha de comando separados por um espaço, mas se o argumento em si tiver um espaço, você pode passar esses argumentos colocando-os entre aspas duplas "" ou aspas simples ''. Vamos reescrever o exemplo acima mais uma vez, onde imprimiremos o nome do programa e também passaremos um argumento de linha de comando colocando aspas duplas -
#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");
   }
}

Quando o código acima é compilado e executado com um único argumento separado por espaço, mas entre aspas duplas, ele produz o seguinte resultado.
$./a.out "testing1 testing2"

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

Linguagem C

  1. Decodificador
  2. Argumentos da função Python
  3. Argumentos de linha de comando Java
  4. O que é eficiência de linha?
  5. O que é uma linha de produção?
  6. O que é uma linha de construção?
  7. O que é uma torneira de ponte?
  8. O que é uma linha de montagem?
  9. Uma introdução à linha de corte de precisão
  10. Atualizações da Linha de Embalagens Químicas