Как добавить значение в строку?
Я использую 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);