Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[allegro] %d

Ostatnio zmodyfikowano 2009-05-26 17:06
Autor Wiadomość
driver1995
Temat założony przez niniejszego użytkownika
[allegro] %d
» 2009-05-26 15:40:33
Witam...
Mam pytanie.. Pisząc textprintf(bitmapa,font,x,y,kolor,"%d",ZmiennaTypuIntDoubleItp)
to działa... Natomiast: textprintf(bitmapa,font,x,y,kolor,"%d",ZmiennaTypuString) już nie działa.. Tak sobie myślę, że to wina tego, że %d nie może być dla string.. Czy dobrze kombinuję czy nie? Jeśli tak to w takim razie co dać za %d żeby działało? Jeśli nie to co zrobić żeby działało???
P-7193
pixelmaster
» 2009-05-26 15:48:42
%s chyba jest do stringów
P-7194
driver1995
Temat założony przez niniejszego użytkownika
» 2009-05-26 16:19:09
No wpisałem %s i dalej to samo... Mój textprintf wygląda dokładnie tak:
C/C++
textprintf( bufor1, tri, 180, 45, makecol( 255, 0, 0 ), "%s", rzeczy[ samochod ].nazwa );
Jakby co to tri - czcionka, a rzeczy[samochod].nazwa to przywołana z pliku nazwa w postaci string...

A błąd tak:
[ Warning ] cannot pass objects of non - POD type ` struct std::string ' through `...'; call will abort at runtime

P-7195
Proxym
» 2009-05-26 16:59:22
Pamiętaj, że allegro jest napisane w C! Jeśli chcesz żeby działało to potrzebujesz tego "%s" tyle że musisz podać wskaźnik na tablice charów, a nie na klasę string z STL'a. std::string ma do tego odpowiednią methode c_str().


textprint(bitmap, x, y, color, "%s", nazwa.c_str());
P-7196
driver1995
Temat założony przez niniejszego użytkownika
» 2009-05-26 17:06:03
Działa! Dzięki wielkie!
topic_close();
P-7197
« 1 »
  Strona 1 z 1