Ver Mensaje Individual
  #19 (permalink)  
Antiguo 15/06/2005, 08:58
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
MMM que raro. Mira te voy a decir porque esta mal.

Porque tu al traducir esos cases a if-else te saldria algo como:

else if(argv[1]=="hola")

Cosa que esta terriblemente mal. Y pues como los switch case son otra manera de representar los if-esle pues ahi esta una comprobacion, lo ideal sera:

else if(strcmp(argv[1], "hola")==0)

Y esto si es correcxto mas no se puede implementar como switch-case porque cada situacion es diferente.

Ahora, como argv[1]es un puntero como dice maxextreme entonces no puede contener namas -v para eso debes usar el strcmp tambien, ese era tu error, intenta usar el strcmp que es para comparar cadenas, y regresa 0 si son iguales. Por cierto, no uses algo como:

if(strcmp(argv[1], "hola")) asi solo porque strcmp puede regresar valores positivos aunque las cadenas sean differentes, usa strcmp(argv[1], "-v")==0.


Saludos