关于SDL_TTF? (C编程)

时间:2016-12-14 01:52:46

标签: c

我是编程的初学者,而且我一直在为SDL_TTF调用的函数遇到麻烦:

SDL_Surface * TTF_RenderText_Solid(TTF_Font * font,const char * text,SDL_Color fg);

这允许创建一个带有文本的表面,但我的问题是我需要将数字发送到第二个参数。第二个参数只接受char变量,而我的变量是int ...

有没有办法通过将int数存入char变量来绕过它...或者是一种键入第二个参数以便接受int变量的方法?嗯..

1 个答案:

答案 0 :(得分:0)

在C中没有自动将整数(或其他数字格式)转换为文本,您必须明确地进行。

例如,您可以编写一个执行转换的包装函数并调用SDL库调用:

#include <stdlib.h>

SDL_Surface* MyRenderInteger_Solid(TTF_Font* font, int value, SDL_Color fg)
{
   char numBuffer[20];
   itoa(value, numBuffer, 10); /* convert value to decimal string */
   return TTF_RenderText_Solid(font, numBuffer, fg);
}

请注意,“#include”应位于文件的顶部,而不是在定义函数之前(除非您的函数也位于源文件的顶部)。