Título: Problema con funcion atof Publicado por: Fox_Neo en 8 Junio 2012, 01:55 am Hola gracias por leer mi duda, tengo el siguiente código y no consigo compilarlo:
Código El error que me da es el siguiente: Código: invalid conversion from 'char' to 'const char*' Uso el compilador DevC++ver 4.9.9.3 No entiendo donde está el fallo ya que el siguiente codigo si que lo compila: Código he probado a cargar el valor de dato[a] a otra variable de tipo char, por si la función atof no admitia convertir vectores directamente pero tampoco no funicona :huh: Salud Título: Re: Problema con funcion atof Publicado por: x64core en 8 Junio 2012, 04:12 am hola, los arrays de caracteres, el puntero es estático por eso no podes pasar el puntero del array pasando una variable como
indice tenes que especificarle al compilador que queres pasarle el puntero de N indice, sino fuera asi estuvieras pasando el valor del indice y no el puntero: Código: cout<<atof( &dato[a] ) <<endl; bueno lo demás, e dado por caso que ya sabes para que funciona la atof Título: Re: Problema con funcion atof Publicado por: Fox_Neo en 8 Junio 2012, 12:10 pm Gracias por la ayuda algo intuia que podría ser por no usar punteros, pero lo que no entiendo por qué el segundo código si que lo compila y funciona bien si no se usa punteros.
Salu2. Título: Re: Problema con funcion atof Publicado por: BlackZeroX en 8 Junio 2012, 16:34 pm El usar solo elnombre de una array es decir asi como lo usas en el segundo indica un puntero al primer indice es decir "&variable[0]" es igual a "variable"...
Dulces Lunas!¡. Título: Re: Problema con funcion atof Publicado por: Fox_Neo en 9 Junio 2012, 14:20 pm Gracias por la ayuda ahora si que me compila y mas o menos me hace lo que quiero pero hay un problema, el codigo es el siguiente:
Código Cuando introduzco una serie de carateres por ejemplo Código: fdsjñlk2sad Código: dsaf25 Salu2 Título: Re: Problema con funcion atof Publicado por: durasno en 9 Junio 2012, 18:46 pm Hola! atof no convierte un numero en caracter a double, sino que convierte la porcion inicial de la cadena en double, es decir si en la porcion inicial hay numeros consecutivos ("123avc") se va a convertir esos numero como un solo double
Ejemplo cuando vos ingresas esta cadena: "ashf2ieurut26aa" En primera instancia atof no hace nada ya que la porcion inicial no es un numero. Luego cuando le pasas la direccion del primer "2" no solo le estas pasando a atof el '2', sino que le estas pasando la cadena: "2ieurut26aa". Aca atof convierte el 2... y finalmente le pasas a atof: "26aa", aca la porcion inicial tiene los numeros "26" por lo tanto convierte ese numero Saludos Título: Re: Problema con funcion atof Publicado por: Fox_Neo en 9 Junio 2012, 22:51 pm Gracias por la aclaración respecto a la función atof, pero sigo sin entender por qué no funciona correctamente mi codigo, ya que:
Cojo una cadena de caracteres y las introduzco en un vector, cada carácter está introducido en una posición del vector. Leo el contenido del vector, y si encuentra en una posición del vector un carácter que sea 2 lo convierte a un número, pero lo que viene en la siguiente posición del vector todavia no se sabe porque todavía no ha accedido a ella,por eso solo tendría que convertir lo que está dentro de la posisción del vector, nose si me explico :silbar: Salu2. Título: Re: Problema con funcion atof Publicado por: durasno en 10 Junio 2012, 05:45 am Es por lo que te dije antes... Si bien vos le pasas la direccion donde hay un '2', no le estas pasando solo el 2 sino que le estas pasando un puntero a esa posicion(por ser un arreglo). Con el ejemplo anterior atof recibe estas cadenas:
"2ieurut26aa" y "26aa", y procesa la parte inicial de la cadena mientras haya un numero Saludos Título: Re: Problema con funcion atof Publicado por: Fox_Neo en 10 Junio 2012, 20:58 pm Gracias por responder el problema que tengo es que me he dado cuenta que tengo un buen cacao entre strings y arrays ya que creía que el string funcionaba como un array que cada carácter tenia una posición como ocurre con los arrays, para lo que quiero hacer creo que tengo que pasar la cadena de string a un array, voy a ver como lo puedo hacer.
Salu2. |