tags:

views:

129

answers:

3

I am trying to run the following code using allegro.

textout_ex(screen, font, numbComments , 100, 100, GREEN, BLACK);

numbComments is an integer, the function prototype of this function is

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

and i cannot, according to my understanding pass this integer in the third position.

I therefore need to convert the integer into a char*s.

Help please?

i cannot, of course, change the actual function prototype

+2  A: 

Str is a std::string. textout_ex requires a const char*. Use Str.c_str() to retrieve the C const char* data format from Str.

Potatoswatter
+1  A: 

textout_ex expects a const char*, and your Str is a string, try calling textout_ex with Str.c_str();

Edit: Applied to your code : textout_ex(screen, font, Str.c_str(), 100, 100, GREEN, BLACK);

Soufiane Hassou
I see the answer is the same, i still dont understand what to put where though, please can you copy the whole code that i pasted with the changes or explain more simply
ace
here you go, answer updated :)
Soufiane Hassou
thanx, however, the function prototype is set, I did not make it and dont think I have access to it?also, I wish to put characters into the function in other places within the code.is there no way to just convert my integer to what is needed?
ace
A: 

Use textprintf_ex like:

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

It works just like printf().

konforce
thanx but what's bg?
ace
background color.
konforce