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

Dominando Argumentos de Linha de Comando em C: Guia Prático

É 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 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 de linha de comando são manipulados 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, um exemplo simples que verifica se há algum argumento fornecido da linha de comando e age de acordo:

#include <stdio.h>
int main(int argc, char *argv[]) {
    if (argc == 2) {
        printf("O argumento fornecido é %s\n", argv[1]);
    } else if (argc > 2) {
        printf("Muitos argumentos fornecidos.\n");
    } else {
        printf("Um argumento esperado.\n");
    }
    return 0;
}

Quando o código acima é compilado e executado com um único argumento, produz o seguinte resultado.

$./a.out teste
O argumento fornecido é teste

Quando o código acima é compilado e executado com dois argumentos, produz o seguinte resultado.

$./a.out teste1 teste2
Muitos argumentos fornecidos.

Quando o código acima é compilado e executado sem passar nenhum argumento, produz o seguinte resultado.

$./a.out
Um argumento esperado

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á 1, e se você passar um argumento, argc será definido como 2.

Você passa todos os argumentos de linha de comando separados por espaço, mas se o próprio argumento tiver um espaço, pode passar tais argumentos colocando-os dentro de 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-o dentro de aspas duplas:

#include <stdio.h>
int main(int argc, char *argv[]) {
    printf("Nome do programa %s\n", argv[0]);
    if (argc == 2) {
        printf("O argumento fornecido é %s\n", argv[1]);
    } else if (argc > 2) {
        printf("Muitos argumentos fornecidos.\n");
    } else {
        printf("Um argumento esperado.\n");
    }
    return 0;
}

Quando o código acima é compilado e executado com um único argumento separado por espaço, mas dentro de aspas duplas, produz o seguinte resultado.

$./a.out "teste1 teste2"
Nome do programa ./a.out
O argumento fornecido é teste1 teste2

Linguagem C

  1. Entendendo Decodificadores: Tipos, Tabelas-Verdade e Aplicações Práticas
  2. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  3. Dominando Argumentos de Linha de Comando em Java: Como Passar e Analisar Parâmetros
  4. Entendendo a Eficiência de Linha: Métricas-Chave para Produção de PCB
  5. Entendendo Linhas de Produção: Como Linhas de Montagem Impulsionam a Eficiência na Fabricação
  6. Linhas de Edificação (Building Lines): Guia Claro para Proprietários
  7. Derivação de Linha (Bridge Tap): Como Afeta Seu Serviço Telefônico e Internet
  8. Linha de Montagem (Assembly Line): Como Peças Intercambiáveis Impulsionam Produção Eficiente
  9. Linhas de Corte Longitudinal de Precisão: Corte Automatizado Avançado de Bobinas para Larguras Exatas
  10. Otimizando Linhas de Embalagem Química: Atualizações para Tempo de Atividade e Rastreamento OEE