如何将变量添加到TTF_RenderText_Solid的字符串中

时间:2012-10-27 02:39:41

标签: c++

我目前正在学习使用TTF文件输出,并想知道如何使用带字符串的变量输出字体?

例如,我将mouseXmouseY的位置定义为Int

我想输出一个字符串,如:

鼠标X:mouseX,鼠标Y:mouseY

这是我输出文字的地方:

 font_surface = TTF_RenderText_Solid(font_file,"MouseX: //need to add variable MouseY: //here too",font_color); 

是否有人知道使用字符串将变量合并到此函数的语法?

1 个答案:

答案 0 :(得分:2)

当我使用SDL_ttf时,我使用stringstream来构建我的字符串。您也可以使用sprintf,但在C ++应用程序中通常不鼓励这样做。

#include <sstream>
...
std::stringstream s;
s << "Mouse xpos: " << xpos << " Mouse ypos: " << ypos;
fontSurface = TTF_RenderText_Solid(font_file, s.str().c_str(), font_color);

.str()生成一个STL字符串,然后.c_str()返回一个const char*到STL字符串的内容,SDL是一个非常坚定的C库,它希望。