buenas otras vez:
necesito como pasar un numero guardado en un const char* a un int, solo numeros.
el problema es que no puedo usar ninguna libreria de c/c++ (no puedo decir el porque).
Entonces, lo que me hace falta es o una funcion separada o un codigo suelto, o al menos la teria para convertirlo.
Gracias
Pues como no digas en que
Pues como no digas en que programas.... Por que si no puedes ni usar un simple atoi(); lo llevas claro...
estoy programando en c/c++
estoy programando en c/c++ pero sin librerias, no puedo especificar mucho mas
pos vale... si sabes cuantos
pos vale...
si sabes cuantos ocupa la cadena char es facil....
u8 valor[10];
valor[0] = ((int)char[0]) - 48;
valor[1] = ((int)char[1]) - 48;
valor[2] = ((int)char[2]) - 48;
u32 total = (valor[0] * 100) + (valor[1] * 10) + valor[2];
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
ok, grax. Solo una dudilla
ok, grax.
Solo una dudilla mas:
imaginemos que tenemos un registro 0x16, pero quiero cambiarlo por el de una variable, quiero representarlo como una suma, osea:
int color 15;
registro = 0x0 + color;
pero no me funciona bien, cual seria la forma correcta de cambiar el registro 0x00 por 0x15 o el numero que sea la variable, no quiero tener que escribir 200 ifs
Be Libre my Friend.
jeje, pero ya lo solucioné,
jeje, pero ya lo solucioné, resulta que lo pongo en ese lugar donde ya sabes que debe estar, porque no contesta ni dios. pero para que lo sepas, conseguí avanzar muchisimo, aun tengo un pequeño fallo, pero va bien, y el hardware no es tan dificil cuando te pones a fondo
Be Libre my Friend.
Por que 0x15 no es un
Por que 0x15 no es un registro, es un numero en hexadecimal
Un registro, seria
#define REG_DISPCNT_SUB (*(vu32*)0x04001000)
Es decir, una posicion de memoria y son MUY concretas (no puedes sumarle 15 por que yo lo valgo)
Podrias intentar hacer (*(vu32*)(0x04001000 + posicion)) = valor;
Pero no lo veo sentido, y menos con el secretismo que te traes.
Si yo (o cualquiera del equipo de libnds, maxmod, etc) cada vez que hiciera un proyecto se lo callara todo, aun estariais enclavados en el pasado con palib, trasteando con librerias obsoletas, que no van ni pa atras con las ultimas libnds y menos en modo DSi.
No se que fobias os entran en el scenery con el secretismo de proyectos, o que si me copias, o si me vas a robar la idea.
Eso te lo puedes permitir cuando vas sobrado de conocimientos (y entonces es cuando sueles compartir mas).
Cuando te toca preguntar tanto, tranquilo, tu codigo no es tan valioso como para que te lo roben. Y si alguien lo hace tranquilo, es por que aun va mucho mas atras que tu.
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.
perdona el secretismo, pero
perdona el secretismo, pero es que no puedo, y tranquilo no es del scenery ni nada de eso, si te digo la verdad, ni siquiera es de ds. Pero lo queria preguntarte, es que teniendo el 0x15 en un int, como puedo sustituirlo por 0xvariable.
Be Libre my Friend.
Repito 0x15 es un numero en
Repito 0x15 es un numero en hexadecimal, y si es un registro, no lo puedes meter en un int asi por que si. Mirate mi respuesta anterior, que te lo he explicado.
Nuestra web oficial:
http://www.nightfoxandco.com/
Siguenos en facebook:
http://www.facebook.com/pages/NightFox-Co/284338634917917
Por favor, no useis los MP para preguntas, usar el FORO:
http://www.nightfoxandco.com/forum/
Asi nos ahorramos de contestar lo mismo 20 veces.