Linguagem C: Argumentos em Linha de Comando
Voltar para Programação em C
Definição
A função main, tal como outras funções, permite a passagem de parâmetros. Contudo, os parâmetros são um conjunto de strings passadas no momento da chamada do programa. Por exemplo:
./meu_programa parametro1 parametro2 343 2223.3 'Meu parametro'
Observe que quando queremos que uma string composta seja apenas um parâmetro, devemos colocar a string entre aspas simples ou duplas.
Essas informações são armazenadas em um vetor de strings chamado argv (ver no programa abaixo) e em argc é a quantidade de parâmetros que foi passado via linha de comando. É importante observar que o parâmetro 0 (ou primeiro), será sempre o nome do programa que foi chamado. Os parâmetros subsequentes serão 1, 2, ... n.
O programa a seguir apresenta os parâmetros em sua ordem de passagem.
1#include <stdio.h>
2#include <stdlib.h>
3
4int main(int argc, char *argv[]) {
5 int i;
6 for (i = 0; i < argc; i++) {
7 printf("%d: %s\n", i, argv[i]);
8 }
9}
A saída do programa acima, conforme a chamada supracitada, ficará da seguinte forma:
0: ./meu_programa 1: parametro1 2: parametro2 3: 343 4: 223.3 5: Meu parametro
Lembrando que todos os parâmetros serão strings, sendo necessário converter para o tipo esperado, caso o programa necessite.