Argumentos da Linha de Comando
Compreendendo Argumentos da Linha de Comando
Argumentos da linha de comando permitem que os utilizadores passem informações a um programa diretamente do terminal quando o executam. Eles fornecem uma forma flexível de interagir com programas sem modificar o código-fonte.
Estrutura Básica de Argumentos
int main(int argc, char *argv[]) {
// argc: Contagem de Argumentos
// argv: Vetor de Argumentos
return 0;
}
Componentes dos Argumentos
| Componente |
Descrição |
Exemplo |
argc |
Número total de argumentos |
3 em ./programa arg1 arg2 |
argv[0] |
Nome do programa |
./programa |
argv[1] |
Primeiro argumento |
arg1 |
argv[n] |
Argumentos subsequentes |
arg2, arg3, etc. |
Exemplo Prático
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Nome do Programa: %s\n", argv[0]);
printf("Argumentos Totais: %d\n", argc);
for (int i = 1; i < argc; i++) {
printf("Argumento %d: %s\n", i, argv[i]);
}
return 0;
}
Fluxo de Processamento de Argumentos
graph TD
A[Executar Programa] --> B[Shell Passa Argumentos]
B --> C[main() Recebe argc/argv]
C --> D[Processar Argumentos]
D --> E[Execução do Programa]
Manipulação Avançada de Argumentos
Conversão de Tipo de Argumentos
#include <stdlib.h>
int main(int argc, char *argv[]) {
if (argc > 1) {
int numero = atoi(argv[1]); // Converter string para inteiro
printf("Número Convertido: %d\n", numero);
}
return 0;
}
Casos de Uso Comuns
- Processamento de ficheiros
- Definições de configuração
- Parâmetros de entrada
- Personalização do programa
Demonstração no Ubuntu 22.04
## Compilar o programa
gcc -o argdemo argdemo.c
## Executar com argumentos
./argdemo Olá LabEx
Boas Práticas
- Validar sempre a contagem de argumentos
- Lidar com potenciais erros de conversão
- Fornecer instruções de utilização
- Utilizar getopt() para análise de argumentos complexos
Dica do LabEx
No ambiente de programação em C do LabEx, dominar os argumentos da linha de comando permite projetos de programas mais dinâmicos e interativos.