15/06/2005, 08:58
|
| | | 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 |