将int转换为Char*,给出ascii值C++

Converting int to Char* giving ascii values C++

本文关键字:给出 ascii C++ int 转换 Char      更新时间:2023-10-16

hi-im正在尝试初始化变量我称之为

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等

那么我做错了什么?知道吗?

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

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

itoa(Score, Buffer, 10);