Come posso fare? Esiste una funzione?
Come posso fare? Esiste una funzione?
Una possibile soluzione:
float a=10.5;
char str[10];
sprintf(str,"%f",a);
Cosa succede in questo caso?
codice:#include <stdio.h> #include <stdlib.h> int main(){ float a=2004127878.52748; char str[10]; sprintf(str,"%f",a); printf("%s\n",str); return 0; }
OverflowOriginariamente inviato da pallinopinco
Cosa succede in questo caso?
codice:#include <stdio.h> #include <stdlib.h> int main(){ float a=2004127878.52748; char str[10]; sprintf(str,"%f",a); printf("%s\n",str); return 0; }
Basta aumentare str oppure scriversi una propria funzione.
http://www.koders.com/cpp/fidACCA044...1A.aspx?s=ftoa
Si può anche usare snprintf, un'alternativa "sicura" (standard ANSI C99) a sprintf.
A parte le possibili soluzioni è importante rendersi conto che in C i buffer overflow sono sempre in agguato!