27/01/12 19:08
Dato che la itoa non è standard e che usi il C++, ti suggerirei di usare questo codice ...
e
#include <string> #include <sstream> using namespace std;
e
stringstream sout; sout.str(""); sout << valore_numerico; message = TTF_RenderText_Solid (font, sout.str().c_str(), textColor);
27/01/12 20:29
anthony015
questa è un programmino in C che feci tempo fa per risolvere questo problema senza itoa (c'è anche il main per testare), dovrebbe andare bene anche per il tuo caso...
int* scomponiInteroInSingoleCifre(int input) { if(input<0) input*=-1; int* toRet=(int*)malloc(sizeof(int)); int* tr; int i=0; toRet[i++]=-1; toRet=(int*)realloc(toRet,sizeof(int)*(i+1)); do { *(toRet+i)=input%10; i++; input/=10; toRet=(int*)realloc(toRet,sizeof(int)*(i+1)); }while(input/10>0||(input/10==0&&input%10!=0)); tr=(int*)malloc(sizeof(int)*(i)); int j; for(j=0;j<i;j++) *(tr+(i-j-1))=toRet[j]; free(toRet); return tr; } const char* convertiArrayInteriInConstCharPointer(int* toConv) { int contDim; for(contDim=0;toConv[contDim]!=-1;contDim++); char* toRet=(char*)malloc(sizeof(char)*(contDim+1)); int i; for(i=0;i<contDim;i++) { toRet[i]=toConv[i]+48; } toRet[contDim]='questa è un programmino in C che feci tempo fa per risolvere questo problema senza itoa (c'è anche il main per testare), dovrebbe andare bene anche per il tuo caso...int* scomponiInteroInSingoleCifre(int input) { if(input<0) input*=-1; int* toRet=(int*)malloc(sizeof(int)); int* tr; int i=0; toRet[i++]=-1; toRet=(int*)realloc(toRet,sizeof(int)*(i+1)); do { *(toRet+i)=input%10; i++; input/=10; toRet=(int*)realloc(toRet,sizeof(int)*(i+1)); }while(input/10>0||(input/10==0&&input%10!=0)); tr=(int*)malloc(sizeof(int)*(i)); int j; for(j=0;j<i;j++) *(tr+(i-j-1))=toRet[j]; free(toRet); return tr; } const char* convertiArrayInteriInConstCharPointer(int* toConv) { int contDim; for(contDim=0;toConv[contDim]!=-1;contDim++); char* toRet=(char*)malloc(sizeof(char)*(contDim+1)); int i; for(i=0;i<contDim;i++) { toRet[i]=toConv[i]+48; } toRet[contDim]='{parsed_message}'; return toRet; } int main() { int input; char* redo=(char*)malloc(sizeof(char)); char test=1,t; printf("Inserire un intero: "); scanf("%i",&input); const char* stringaCostante=convertiArrayInteriInConstCharPointer(scomponiInteroInSingoleCifre(input)); printf("%s\n", stringaCostante); system("pause"); }'; return toRet; } int main() { int input; char* redo=(char*)malloc(sizeof(char)); char test=1,t; printf("Inserire un intero: "); scanf("%i",&input); const char* stringaCostante=convertiArrayInteriInConstCharPointer(scomponiInteroInSingoleCifre(input)); printf("%s\n", stringaCostante); system("pause"); }
Ultima modifica effettuata da anthony015 27/01/12 21:41
aaa