【发布时间】:2013-06-22 21:02:48
【问题描述】:
我一直在研究如何使用 Allergo 5 在屏幕上绘制字符串,并且知道 al_draw-textf() 的工作原理类似于 stdio.h 中的 printf() 。因此,当我想在控制台窗口上打印一个字符串时,我会写 printf("%s" , string_name); 但是当我写这个时
al_draw_textf(字体, al_map_rgb(255, 255, 0), 250, 250, ALLEGRO_ALIGN_LEFT , "%s" , num);
显示屏上没有任何文字。当我将 %s 更改为 %d 并将 num 变量更改为整数时,它会正确绘制 num 的值。是我做错了什么还是这个函数只用于绘制整数变量?
【问题讨论】:
-
你能展示你的代码的相关例子吗?
-
我已经解决了这个问题。我应该将
num变量声明为const char *而不是字符串 -
@Sam379,如果您使用 C++ 字符串将 C 兼容字符串传递给 Allegro,则可以使用
c_str()方法。