преобразовать int в строку для использования в функции allegro - PullRequest
3 голосов
/ 26 апреля 2010

Я пытаюсь запустить следующий код, используя allegro.

textout_ex (экран, шрифт, numbComments, 100, 100, ЗЕЛЕНЫЙ, ЧЕРНЫЙ);

numbComments - это целое число, прототип функции этой функции

  void textout_ex(BITMAP *bmp, const FONT *f, const char *s, 
                                      int x, int y, int color, int bg);

и я не могу, согласно моему пониманию, передать это целое число в третьей позиции.

Поэтому мне нужно преобразовать целое число в символ *.

Помогите пожалуйста?

Я, конечно, не могу изменить фактический прототип функции

Ответы [ 3 ]

2 голосов
/ 26 апреля 2010

Str является std::string. textout_ex требует const char*. Используйте Str.c_str() для извлечения формата данных C const char* из Str.

1 голос
/ 26 апреля 2010

textout_ex ожидает const char*, а ваш Str - string, попробуйте позвонить textout_ex с Str.c_str();

Edit: Применяется к вашему коду: textout_ex(screen, font, Str.c_str(), 100, 100, GREEN, BLACK);

0 голосов
/ 27 апреля 2010

Использование textprintf_ex как:

textprintf_ex(bmp, f, x, y, color, bg, "%d", numbComments);

Работает так же, как printf () .

...