[ Foro de C ]

Funcion argv

02-May-2009 16:03
Mª del Mar Pousada González
2 Respuestas

Hola, para coger los parametros de la linea de comandos, no se si estoy utilizando bien argv, ya que al intentar sacar por pantalla perror, me devuelve 0. El código es el siguiente: main(){ char *argv[6]; float perror; perror=atof(argv[1]); printf("%f\n",perror); } Muchas gracias de antemano.
03-May-2009 13:43
laura perez sanchez

No estoy completamente segura de si la respuesta que te doy es del todo correcta, pero creo que para que te funcione te falta contar el numero de parámetros con la función argc(). Además esta función y el argv deben estar declaradas dentro de main, como dos de sus argumentos. Espero que te sirva de algo.


04-May-2009 00:46
Nacho Cabanes (+84)

Laura tiene razón:

- Tienes que indicar los parámetros entre los paréntesis de "main", típicamente así:

int main (int argc, char *argv[])

- Debes comprobar que realmente hay parámetros, mirando el valor de argc, antes de intentar acceder a ellos.

- Además, estás convirtiendo y dando por seguro que no va a haber problemas en la conversión, pero eso es un poco menos crítico.

Para más detalles, mira el apartado 9.9 del curso (tema 9).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)