elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Sobre argv
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sobre argv  (Leído 2,201 veces)
ivan_esp

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Sobre argv
« en: 28 Septiembre 2014, 18:00 pm »

Hola a todos,estoy empezando a programar con C y bueno ,aunque son ejercicios fáciles estoy teniendo unos problemas a ver si me podéis ayudar.

Resulta que tengo que según los parámetros de llamada al programa mostrar unas opciones es decir:

$./opciones -c
deberá mostrar:
Argumento 1 es Compilar

$./opciones -c -E
deberá mostrar:
Argumento 1 es Compilar
Argumento 2 es Preprocesar

Tengo esto:

Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[]) {
  4.  
  5.     int i=1;
  6.     char e;
  7.     for(i=1;i<argc;i++){
  8.     e=argv[i][1];
  9.    // printf("%c\n",argv[i][1]);
  10.     if(e=="c")
  11.      printf("Argumento %d es Compilar \n",i);
  12.     if(e=="E")
  13.      printf("Argumento %d es Preprocesar \n",i);
  14.  
  15.  
  16.     }
  17.  
  18.  
  19. }

Pero me da error al compilar:

Código
  1. opciones.c: In function ‘main’:
  2. opciones.c:10:10: warning: comparison between pointer and integer [enabled by default]
  3.      if(e=="c")
  4.          ^
  5. opciones.c:12:10: warning: comparison between pointer and integer [enabled by default]
  6.      if(e=="E")
  7.          ^

¿Alguna idea?

Saludos y Gracias





En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Sobre argv
« Respuesta #1 en: 28 Septiembre 2014, 18:05 pm »

Estas comparando un char contra un string. En C son tipos distintos.
Usa comilla simple y compararas caracter contra caracter.


En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
kaiserr

Desconectado Desconectado

Mensajes: 242


constancia y dedicacion


Ver Perfil
Re: Sobre argv
« Respuesta #2 en: 28 Septiembre 2014, 18:31 pm »

Creo recordar que el parametro lo tendrias que coger asi:
Código
  1. e=argv[i]
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Sobre argv
« Respuesta #3 en: 28 Septiembre 2014, 18:37 pm »

Creo recordar que el parametro lo tendrias que coger asi:
Código
  1. e=argv[i]

en este caso no, porque el parametro es "-c" o "-E" y el no está leyendo el "-" sino directamente la letra, efectivamente la solucion como la indica CalgaryCorpus debería funcionar correctamente
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
kaiserr

Desconectado Desconectado

Mensajes: 242


constancia y dedicacion


Ver Perfil
Re: Sobre argv
« Respuesta #4 en: 28 Septiembre 2014, 18:48 pm »

it's true  :-X creo que tendre que refrescar mis conocimientos de C.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Sobre argv
« Respuesta #5 en: 28 Septiembre 2014, 19:10 pm »

it's true  :-X creo que tendre que refrescar mis conocimientos de C.

tu solucion es correcta pero sería para evaluar "-c" y "-E" como strings
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
ivan_esp

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Sobre argv
« Respuesta #6 en: 28 Septiembre 2014, 20:00 pm »

Gracias a todos ya funciona perfectamente :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con argv
Programación C/C++
winroot 2 1,941 Último mensaje 9 Octubre 2010, 17:52 pm
por winroot
[DUDA C] Dividir cadena en subcadenas (similar argv)
Programación C/C++
setwarn 2 7,507 Último mensaje 6 Diciembre 2010, 18:01 pm
por setwarn
Duda con parámetros argc y argv
Programación C/C++
peternash 3 2,232 Último mensaje 11 Agosto 2013, 14:25 pm
por Eternal Idol
Unicode en argv
Programación C/C++
jonyloscalzo 3 1,762 Último mensaje 24 Octubre 2013, 17:19 pm
por eferion
Saber si argv es un numero real
Programación C/C++
javituni 3 2,234 Último mensaje 7 Noviembre 2013, 13:09 pm
por javituni
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines