getopt

1. getopt

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 18/06/2006 - 15:02h

Gente, seguinte, estou querendo saber como sei a numeração para usar argumentos que o getopt() retorna:

...
c = getopt(argc, argv, "abc");
switch(c){
case 'a':
case 'b':
case 'c':
default:
}
...

OBS.: Sei que o codigo acima não faz nada, é só um exemplo básico para esclarecer o que quero fazer.

Bom, queria fazer o seguinte:

$./programa -a enzo -b slackware_10 -c vol

Queria saber se tem jeito de eu saber a posição do -a, -b e -c ou o número das opções...

Agradeço desde já,
Slackware_10


  


2. Resposta

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 18/06/2006 - 15:32h

/*
* Programa: GetOpt test
* Arquivo: getopt.c
* Autor: Enzo Ferber
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char *argv[]){
char c;
int i;
for(i=0;i<argc;i++){
c = getopt(argc, argv, "p:h:l:");
if(c == -1) break;
switch(c){
case 'p':
printf("%c: %s\n", c, optarg);
break;
case 'h':
printf("%c: %s\n", c, optarg);
break;
case 'l':
printf("%c: %s\n", c, optarg);
break;
default:
printf("%c : Unknow parameter\n");
exit(1);
}
}
}






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts