Как добавить значение в строку?

Я использую C и библиотеку SDL и пытаюсь выразить что-то вроде следующего кода:

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

как то так:

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

ввести некоторый тип шаблонов.

Я пробовал различные коды (включая некоторые из похожих вопросов) и не могу заставить его работать.

Я просто хочу быстрый и простой способ сделать это, желательно без какой-либо дополнительной библиотеки.

2 ответа

Решение

Вы могли бы использовать 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);

Вы можете найти более простые способы сделать это, но этот понятен и прост.

Если у вас нет проблем, включая , вы можете сделать следующее

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

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

Surface = SDL_LoadBMP(ResourcePath);
Другие вопросы по тегам