0

嗨,我正在尝试初始化一个变量,我正在调用它

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,a,b,c,d,e 等,我希望它通常像 0 一样计数, 1,2,3,4,5,6,7,8,9,10,11等

那我做错了什么?任何想法?

4

1 回答 1

3

itoa 定义如下:char * itoa ( int value, char * str, int base );

最后一个参数是基数,而不是缓冲区大小,因此在您的情况下,您希望10按如下方式传入:

itoa(Score, Buffer, 10);
于 2011-04-08T00:42:05.327 回答