将整数转换为字符串以在 Allegro 函数中使用

3

我将尝试使用 Allegro 运行以下代码:

textout_ex(screen, font, numbComments , 100, 100, GREEN, BLACK);

其中,numbComments 是一个整数。该函数的原型如下:

  void textout_ex(BITMAP *bmp, const FONT *f, const char *s, 
                                      int x, int y, int color, int bg);

根据我的理解,我无法将这个整数传递到第三个位置。

因此,我需要将整数转换为char*s。

请帮忙吗?

当然,我不能改变实际的函数原型。


http://www.allegro.cc/manual/api/text-output/textout_ex - 在位图上输出字符串。 - Potatoswatter
我看到答案是一样的,但我仍然不明白应该在哪里放置,可以请您复制我粘贴的整个代码并进行更改,或者更简单地解释一下吗? - ace
3个回答

2

Str 是一个 std::stringtextout_ex 需要一个 const char*。使用 Str.c_str()Str 中检索 C const char* 数据格式。


1

textout_ex 需要一个 const char* 类型的参数,而你的 Str 是一个 string 类型的变量, 请使用 Str.c_str() 调用 textout_ex 方法。

编辑: 应用到你的代码中: textout_ex(screen, font, Str.c_str(), 100, 100, GREEN, BLACK);


我看到答案是一样的,但我仍然不明白应该在哪里放置什么,请你可以复制我粘贴的整个代码并进行更改,或者更简单地解释一下。 - ace
谢谢,但是函数原型已经设定了,我没有制作它的权限,也不认为我能够访问它。此外,我希望在代码的其他位置将字符放入函数中。难道没有办法将我的整数转换为所需的类型吗? - ace

0

使用textprintf_ex的方式如下:

textprintf_ex(bmp, f, x, y, color, bg, "%d", numbComments);

它的用法与printf()相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接