Linguagem C: Argumentos em Linha de Comando

De Aulas

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.