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

时间:2011-04-08 00:39:41

标签: c++ int chars

嗨我试图初始化一个变量 我叫它

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等

所以我做错了什么?任何想法?

1 个答案:

答案 0 :(得分:3)

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

最后一个参数是基础,而不是缓冲区大小,因此在您的情况下,您需要传递10,如下所示:

itoa(Score, Buffer, 10);