Создание итерационной строки - PullRequest
1 голос
/ 12 мая 2011

Есть ли лучший / более быстрый способ создания строки (std или (const) char *), созданной из строки (const char *) и числа (int), например

animation0, animation1, animation2 ...нимация99

чем это?

ПРИМЕЧАНИЕ: не должен использовать std, потому что hasValueForKey принимает const char *

std::stringstream strIter("animation0"); 

int i = 0;
while (hasValueForKey(strIter.str().c_str())) {

    // do some stuff

    ++i;
    strIter.str(std::string());
    strIter << "animation" << i;            
}

спасибо

1 Ответ

1 голос
/ 12 мая 2011

хорошо, вы можете использовать C99 API с snprintf(char *str, size_t size, const char *format, ...);:

int i = 0;
char str[50];
while (hasValueForKey(str)) {
    // do some stuff
    ++i;
    snprintf(str, 50, "animation%d", i);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...