Para exemplificar melhor o uso de linha de comando utilizando a linguagem C, vamos
criar uma calculadora aritmética básica de inteiros. Vamos utilizar o exemplo
criado em C: Módulo e
adaptá-lo para utilização de argumentos sejam passados pela linha de comando.
A sintaxe será bem simples; sendo dois argumentos representando dois números
como operandos e um último argumento que informa qual a operação que desejamos
realizar.
Sintaxe: linha de comando
nome_program.exe operando1 operando2 operacao
Linha de comando
main.exe 4 2 +
main.exe 4 2 x
main.exe 4 2 /
main.exe 4 2 -
No topo de nossso arquivo main.c, criamos nossas funções que irão realizar os
operações aritméticas básicas de nossa calculadora. Validações e outras tratamentos
foram omitidos para melhor compreensão do exemplo.
Exemplo 1: Operações
//main.c
#include <stdio.h>
#include <stdlib.h> // para conversão de tipos
int adicao(int a, int b)
{
return a + b;
}
int subtracao(int a, int b)
{
return a - b;
}
int multiplicacao(int a, int b)
{
return a * b;
}
int divisao(int a, int b)
{
return a / b;
}
Dentro de nossa função main, temos o tratamento básico da linha de comando,
conversão de operandos e a execução das operações.
Exemplo 2: main
//main.c
void main( int argc, char *argv[] )
{
if(argc == 4 ) //
{
int parametro1 = atoi(argv[1]); //conversão de string p/ inteiro
int parametro2 = atoi(argv[2]);
char operacao = *argv[3];
int resultado = 0;
//necessário verifica se operação é válida antes
switch(operacao){
case '+':
resultado = adicao(parametro1,parametro2);
break;
case 'x':
resultado = multiplicacao(parametro1,parametro2);
break;
case '/':
resultado = divisao(parametro1,parametro2);
break;
case '-':
resultado = subtracao(parametro1,parametro2);
break;
}
printf("argumento: %d %d\n", parametro1,parametro2);
printf("operação: %d %c %d \n", parametro1,operacao,parametro2);
printf("Resultado: %d\n", resultado);
}
else
{
printf("numero de argumento errados.\n");
printf("uso: main.exe numero1 numero2 operacao\n");
}
}
Levando em consideração a linha de comando definida em Calculadora, executando nossa calculadora
com os argumentos abaixo, temos:
Entrada
main.exe 1 2 +
Saída
3
Algumas funções da biblioteca <stdlib.h> utilizadas no exemplo acima foram
estudados com mais detalhes em
C String: Conversão e
identificar caracteres
sendo a leitura recomendada.
O que foi estudado em
Tratando Erros: errno,
exit, abort e
Tratando Erros: signals
também devem ser levados em consideração.