/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Char* to long long

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Xedrox



Registrado: 27 Dic 2012
Mensajes: 20

MensajePublicado: 27/12/2012 11:50 am
Título: Char* to long long

Buenas, tengo un problema que no encuentro como resolver (ya busque en el foro y Google y no encontre respuesta). Tengo una cadena que la leo desde un puntero char*, esta cadena son todos numeros naturales y la debo almacenar en un "long long". Como puedo hacer la conversion, prove con "atol" pero se cuelga el programa :s.

Esta es la porción que me da el error:
Código:


long long cantidad;
cantidad = atol (token); //token es una cadena char*



El programa esta siendo compilado para 32bits, no se si tiene que ver.

Muchas Gracias
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 7527
Ubicación: Mexico

MensajePublicado: 27/12/2012 4:22 pm
Título:

En un compilador que soporte parte del estándar C99 (como es el tipo long long) utilizas la función "atoll" o bien sscanf con el especificador de formato "%lld".

Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
Xedrox



Registrado: 27 Dic 2012
Mensajes: 20

MensajePublicado: 28/12/2012 4:40 am
Título:

rir3760 escribió:
En un compilador que soporte parte del estándar C99 (como es el tipo long long) utilizas la función "atoll" o bien sscanf con el especificador de formato "%lld".

Un saludo


Sigue sin funcionar, probe con el atoll y el sscanf y el programa se queda colgado cuando llega a esa instruccion..

Ej con sscanf:

Código:

printf("Valor antes de la conversion: %s",token);
sscanf(token,"%lld",trx.imp); //Aca se cuelga porque el segundo printf no lo llego a ver
printf("Luego de la conversion: %s",trx.imp);


Lo estare implementando bien?
Volver arriba
Sorancio



Registrado: 29 May 2009
Mensajes: 1157
Ubicación: España

MensajePublicado: 28/12/2012 7:49 am
Título:

sscanf require como todas las funciones de su familia, un puntero al valor:

Código:
sscanf(token,"%lld", &(trx.imp)); //Aca se cuelga porque el segundo printf no lo llego a ver

_________________
Mi página web (en inglés):
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 7527
Ubicación: Mexico

MensajePublicado: 28/12/2012 8:39 am
Título:

Xedrox escribió:
Sigue sin funcionar, probe con el atoll y el sscanf y el programa se queda colgado cuando llega a esa instruccion.

Si solo respondes "no funciona" no hay forma de ayudarte, por favor lee las reglas de los foros, si tienes una duda o pregunta da toda la información posible para resolverla.

Empieza siguiendo la indicación de Sorancio, también verifica que incluyas los encabezados correctos: <stdlib.h> en el caso de atoll y <stdio.h> si utilizas sscanf.

Y si continúan los problemas no queda mas que publicar el código fuente del programa.

Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com