elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
11 Octubre 2008, 18:58  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++
| | |-+  argumentos variables del main
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: argumentos variables del main  (Leído 191 veces)
mycrox

Desconectado Desconectado

Mensajes: 8


Ver Perfil
argumentos variables del main
« en: 22 Abril 2008, 01:50 »

hola gente del foro, llevo bastante tieeeempo aca en el foro pero sin postear :D, espero que me puedan ayudar:

quisiera saber como llamar a los argumentos del main sin importar el orden en el que los llamo:

ejemplo:

shutdown -s -t 30 -l
shutdown -t 30 -s -l
shutdown -l -t 30 -s
shutdown -s -l -t 30

todos esas llamadas a shutdown hacen exactamente lo mismo, la diferencia es que el orden de los argumentos es distinto.

int main(int argc, char* argv[])=Tengo claro que hace cada argumento para ver si se pueden ahorrar la explicación porfavor.

Ojala me puedan ayudar compañeros.

Gracias. 
En línea
ҒrεακΠιи∂

Desconectado Desconectado

Mensajes: 121



Ver Perfil
Re: argumentos variables del main
« Respuesta #1 en: 22 Abril 2008, 05:08 »

Buenas

Recorres argv y listo. Por ejemplo:
Código
for(i = 0; argv[i]; ++i){
 
  /*
   *    Tomo como que las posiciones de argv que no inicien con '-' son parametros
   *    para las opciones (ejemplo : -t 30)
   */

  if(argv[i][0] != '-'){
        continue;
  }
 
  switch(argv[i][1]){
       case 't':
            if(!isdigit(argv[i + 1][0]))
                  printf("Error\n");
 
           time = atoi(argv[i+1]);
           /* Lo demas */
       break;
       case 's':
           /* Lo que haga s */
       break;
       case 'l':
           /* Lo que haga l */
       break;
       /* Las demas opciones */
       default:
           printf("Error\n");
  }
}

De esa forma no importa el orden en que lo mandes. Eso si, esta muy crudo eso, faltan muchas cosas (mayormente control de errores)
Saludos, FreakMind
En línea

Connoisseurs of C semantics find C++ inferior to ++C
mycrox

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: argumentos variables del main
« Respuesta #2 en: 22 Abril 2008, 05:23 »

Gracias Freakmind, veo que tu eres de CPH cierto? bueno, eso no importa, gracias de todos modos men. Date una vuelta por CPH :D sorry por el spam.

Thanks men.
En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats