Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - C++ - SDL scrivere del testo
Forum - C/C++ - C++ - SDL scrivere del testo - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 18:29
Venerdì, 27/01/2012

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:08
Venerdì, 27/01/2012
Dato che la itoa non è standard e che usi il C++, ti suggerirei di usare questo codice ...

Codice sorgente - presumibilmente C++

  1. #include <string>
  2. #include <sstream>
  3.  
  4. using namespace std;



e

Codice sorgente - presumibilmente C/C++

  1. stringstream sout;
  2.  
  3. sout.str("");
  4. sout << valore_numerico;
  5.  
  6. message = TTF_RenderText_Solid (font, sout.str().c_str(),  textColor);



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 21:29
Venerdì, 27/01/2012
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...
Codice sorgente - presumibilmente C++

  1. int* scomponiInteroInSingoleCifre(int input)
  2. {
  3.     if(input<0)
  4.         input*=-1;
  5.     int* toRet=(int*)malloc(sizeof(int));
  6.         int* tr;
  7.     int i=0;
  8.         toRet[i++]=-1;
  9.         toRet=(int*)realloc(toRet,sizeof(int)*(i+1));
  10.     do
  11.     {
  12.         *(toRet+i)=input%10;
  13.         i++;
  14.         input/=10;
  15.                 toRet=(int*)realloc(toRet,sizeof(int)*(i+1));
  16.     }while(input/10>0||(input/10==0&&input%10!=0));
  17.         tr=(int*)malloc(sizeof(int)*(i));
  18.         int j;
  19.     for(j=0;j<i;j++)
  20.     *(tr+(i-j-1))=toRet[j];
  21.     free(toRet);
  22.         return tr;
  23. }
  24.  
  25. const char* convertiArrayInteriInConstCharPointer(int* toConv)
  26. {
  27.     int contDim;
  28.     for(contDim=0;toConv[contDim]!=-1;contDim++);
  29.     char* toRet=(char*)malloc(sizeof(char)*(contDim+1));
  30.     int i;
  31.     for(i=0;i<contDim;i++)
  32.     {
  33.         toRet[i]=toConv[i]+48;
  34.     }
  35.     toRet[contDim]='\0';
  36.     return toRet;
  37. }
  38. int main()
  39. {
  40.     int input;
  41.     char* redo=(char*)malloc(sizeof(char));
  42.     char test=1,t;
  43.     printf("Inserire un intero: ");
  44.     scanf("%i",&input);
  45.         const char* stringaCostante=convertiArrayInteriInConstCharPointer(scomponiInteroInSingoleCifre(input));
  46.         printf("%s\n", stringaCostante);
  47.         system("pause");
  48. }


Ultima modifica effettuata da anthony015 il 27/01/2012 alle 22:41
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo