Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender argv e argc
  2. Exibir informações de argv e argc
  3. Alterando nomes de argv e argc

A linguagem C nos permite manipular os dados informados por um usuário de nossos programas através da linha de comando. Por exemplo, um programa para realizar operações aritméticas básicas pode receber argumentos como abaixo:

Sintaxe
nome_executavel.exe argumento1 arugmento2 argumentoN
Exemplo 1
calculadora 1 2 +
Onde:
calculadora: nome do executável do seu programa após a compilação
1, 2 +: qualquer argumento passado pela linha de comando separados por espaço

A passagem desses argumentos é feita por intermédio na função principal main. Essa função declara os dois parâmetros: argc e *argv[].

Exemplo 2
int main(argc, *argv[]) 
Onde:
argc: número de argumentos passados na linha de comando
*argv[]: vetor de string contendo a lista de argumentos digitados na linha de comando.

Com a utilização desses parâmetros acima, quando utilizamos a linha de comando exemplificada anteriormente, podemos ter acesso aos argumentos argumento1, argumento2 e argumentoN.

Exemplo 3
#include <stdio.h>
int main( int argc, char *argv[] )  
{
    int i;
    printf("argumentos: %d\n", argc);
	
    for(i=0;i < argc; i++)
    {
    	printf("%s \n" , argv[i]);
    }
}
Entrada
main.exe 1 2 + 
Saída
main.exe
1
2
+

Os nomes dos parâmetros são argc e argv utilizados por padrão, mas podem ser alterados sem problemas, contanto que os tipos de dados sejam mantidos na mesma ordem:

Exemplo 4
#include <stdio.h>
int main( int cnt, char *strings[] )  
{
    int i;
    printf("argumentos: %d\n", cnt);
	
    for(i=0;i < cnt; i++)
    {
    	printf("%s \n" , strings[i]);
    }
}
Entrada
main.exe 1 2 + 
Saída
main.exe
1
2
+

Os comandos de decisão if, else, switch e outros devem ser utilizados para trabalhar com a linhas de comando de acordo com as necessidades de nossos programas.

De acordo com o tipo de argumento informado, será necessário realizar um tratamento específico como validação, conversão de tipo entre outros.

  1. 07/10/2024 - revisão 2 - Ajustes pontuais
  2. 29/09/2023 - revisão 1 - Correção em referências, erros gramaticais
  3. 19/05/2023 - versão inicial