Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: wialco en 23 de Febrero de 2003, 03:10:45 PM

Título: Problema con una función de C
Publicado por: wialco en 23 de Febrero de 2003, 03:10:45 PM
                                Tengo un problema con esta función sscanf (texto,"%s %x",&t,&s->flags);
el problema está en que por ej tengo en un texto 0x30 (48 en decimal) y la variable me almacena el valor 30 que es el hexadecimal en vez del 48 el valor decimal y no se que es lo que falla.
Si alguien puede ayudarme.                                
Título: Problema con una función de C
Publicado por: MaSteR en 23 de Febrero de 2003, 06:27:31 PM
                                si combiertes el dato... xD lo mismo rula tio.

pasa cm si tienes un numero 4.454647 y lo metes en una variable int el numero se queda en 4 el compilador dira warning posible perdida de datos bla bla bla pues = ;) combierte el dato 1º.

Un saludo aioooooo                                
Título: Problema con una función de C
Publicado por: MChiz en 23 de Febrero de 2003, 08:43:29 PM
                                Hola:
Decimal y hexadecimal, para el compilador, es lo mismo.
Si no lo he entendido mal, lo que quieres es guardar la variable s->flags como un decimal, no? Si es asi, no tienes que poner %x, tienes que poner %d. El %x es por si quieres escribir el valor en el destino ( en este caso, una cadena ) como hexadecimal.
Espero que sea eso.
Un saludo!