0

我正在使用 C 和 SDL 库,并试图表达类似以下代码的内容:

Surface = SDL_LoadBMP("Resources/Images/ButtonPlay.bmp");

像这样:

ButtonName = "ButtonPlay";
Surface = SDL_LoadBMP("Resources/Images/"+ButtonName+".bmp");

引入某种类型的模板。

我尝试了各种代码(包括一些来自类似问题的代码),但无法让它工作。

我只想要一种快速简便的方法,最好不要任何额外的库。

4

2 回答 2

1

如果您没有包含 <stdio.h> 的问题,那么您可以执行以下操作

char ResourcePath[1024];
ButtonName = "ButtonPlay";

sprintf(ResourcePath, "Resources/Images/%s.bmp", ButtonName);

Surface = SDL_LoadBMP(ResourcePath);
于 2013-11-14T04:29:51.587 回答
0

您可以使用该strcat功能(http://linux.die.net/man/3/strcat

它允许您通过将 src arg 附加到 dest arg 来连接两个字符串。

ButtonName = "ButtonPlay";
res = strcat("Resources/Images/", ButtonName);
res = strcat(res, ".bmp");
Surface = SDL_LoadBMP(res);

您可以找到更简单的方法来做到这一点,但这个方法清晰而简单。

于 2013-11-14T10:29:11.000 回答