ATPS Programação Estruturada IIpasso2

345 palavras 2 páginas
Se pensarmos que qualquer programa escrito em Linguagem C é “despoletado” a partir de uma função principal, cuja designação é “main()“, fazer a passagem de parâmetros na linha de comandos é muito semelhante a realizar essa operação para outra qualquer função dentro do programa.

A grande diferença é que, no segundo caso, o valor desses parâmetros é especificado dentro do próprio código, e no primeiro, é feito na linha de comandos quando damos a ordem de execução do programa.

Para possibilitar a passagem de parâmetros a partir da linha de comandos existem dois parâmetros especiais:

argc -Dá indicação do número de argumentos que foram passados na linha de comando. Quando não são passados argumentos este valor é 1, uma vez que o próprio nome do programa faz parte desta contagem.

argv – É um array de strings que contém os caracteres que formam cada uma das strings passadas a partir da linha de comandos. Pelo mesmo motivo apresentado no ponto anterior, argv[0] armazena o próprio comando invocado.

A título de exemplo são mostrados os valores de arc e argv para um caso concreto:

1
$ ./exemplo batatas fritas 33 argc =4 argv[0] armazena a string “./exemplo” argv[1] armazena a string “batatas” argv[2] armazena a string “fritas” argv[3] armazena a string “33”
Segue-se um exemplo muito simples que se limita a contar e listar os argumentos passados da linha de comandos.

Código fonte
1
2
3
4
5
6
7
8
#include <stdio.h> int main(int argc,char *argv[]){ int i; printf("argc = %d\n",argc); for(i=0;i<argc;i++) printf("argv[%d] = %s\n", i, argv[i]); return 0;
}
Output

1
2
3
4
5
$ ./argcargv graciano torrao argc = 3 argv[0] = ./argcargv argv[1] = graciano argv[2] = torrao
Note que o programa foi gravado com o nome argcargv.c e o executável obtido tem no nome argcargv.

Caso o ./ antes do nome do ficheiro “atrapalhe”, basta executarem o comando apresentado a seguir ou, em alternativa, editar os ficheiros de configuração da variáveis de sistema e tornar

Relacionados