Преобразование int в Char * с получением значений ascii C ++ - PullRequest
0 голосов
/ 08 апреля 2011

привет, я пытаюсь инициализировать переменную я называю это

int Score;
char Buffer[1024];

Я использую SDL, поэтому для их отображения мне пришлось конвертировать Score в char

При этом я увеличиваю счет

                case SDLK_m:
                    Score+=1;
                    break;

и я показываю это с помощью этой функции

void GetText()
{
    itoa (Score,Buffer,1024);

    drawString(screen,font2,0,0,"Score: ");
    drawString(screen,font2,50,0,Buffer);
}

так, когда я показываю это, это выглядит так 0,1,2,3,4,5,6,7,8,9, а, б, в, д, е, и т.д. и я хочу, чтобы он обычно считался как 0,1,2,3,4,5,6,7,8,9,10,11 и т. д.

так что я делаю не так? есть идеи?

1 Ответ

3 голосов
/ 08 апреля 2011

itoa определяется следующим образом: char * itoa ( int value, char * str, int base );

Последний параметр - это база, а не размер буфера, поэтому в вашем случае вы бы хотели передать 10 следующим образом:

itoa(Score, Buffer, 10);
...