[allegro] %d
Ostatnio zmodyfikowano 2009-05-26 17:06
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??? |
|
pixelmaster |
» 2009-05-26 15:48:42 %s chyba jest do stringów |
|
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: 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 |
|
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());
|
|
driver1995 Temat założony przez niniejszego użytkownika |
» 2009-05-26 17:06:03 Działa! Dzięki wielkie! topic_close(); |
|
« 1 » |