【问题标题】:Converting int to Char* giving ascii values C++将 int 转换为 Char* 给出 ascii 值 C++
【发布时间】:2011-04-08 00:39:41
【问题描述】:

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

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的第三个参数是base。你想要基数 10,而不是基数 1024。

标签: c++ int chars


【解决方案1】:

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

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

itoa(Score, Buffer, 10);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    相关资源
    最近更新 更多