Me gustaría convertir un largo largo en una cadena en C.
long long x = 999;
Me gustaría convertir x en una cadena. ¿Cómo podría hacer eso?
Gracias.
long long x = 999;
char str[256];
sprintf(str, "%lld", x);
printf("%s\n", str);
-
Sería mejor, en general, utilizar
snprintf()
aunque con el tamaño del búfer que especifique y los datos en uso no es crucial.–Jonathan Leffler
19 de abril de 2013 a las 0:40
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta respuesta da una pista: cómo convertir unsigned long a string y el snprintf página man la
long long
modificador:ll
, ell-ell.-miku
19 de abril de 2013 a las 0:25
Sin embargo, me gustaría almacenar la cadena en un char*.
– tommy
19 de abril de 2013 a las 0:29
Eso es exactamente lo que el comentario de @miku explica cómo hacer.
–Carl Norum
19 de abril de 2013 a las 0:30
sprintf(string, "%lld", x);
–Carl Norum
19 de abril de 2013 a las 0:33
@Tommy: no almacena la representación ascii de un
long long
en achar *
pero lo almacenas en la memoria elchar *
está señalando, como unchar *
es un puntero y no contiene nada más que una dirección.– alk
19 de abril de 2013 a las 6:23