Autor Wątek: znow allegro tym razem innym problem  (Przeczytany 1924 razy)

Offline wrobelbiz

  • Użytkownik

# Grudzień 24, 2007, 14:20:11
Witam Wszystkich.

Znów mam problem z allegro, tym razem trochę dziwny  ???
Chodzi o to, że mam
string imie = "Test";
Inkludowaną mam bibliotekę string
#include <string>
i chcę wyświetlic ten string na ekranie:
textprintf_ex(bufor1, font, 20, 525, makecol(128, 0, 0),-1, "Kto: %d", imie);
Pojawia się błąd.
Z manuala wyczytałem, że zamiast string muszę użyc char, więc użyłem char i.... zamiast tekstu wyświetliła mi się pewna ilośc liczb.

Co mogę zrobic by wyświetlic ten tekst na ekranie?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Grudzień 24, 2007, 14:24:25
Poczytaj o metodzie c_str() klasy string. :)

Offline PP

  • Użytkownik

# Grudzień 24, 2007, 14:24:30
string imie="Test";
textprintf_ex(bufor1, font, 20, 525, makecol(128, 0, 0),-1,(char*) imie.c_str() );
Teraz powinno zadziałać.
Widze ,że  podstawy c++ się kłaniają http://www.cplusplus.com/reference/clibrary/cstdio/printf.html

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Grudzień 24, 2007, 14:26:48
Teraz powinno zadziałać.
Jak będziesz chciał w ten sposób wypisać jakiś tekst ze znakiem % to nie zadziała. :)

Offline Xion

  • Redaktor
    • xion.log

# Grudzień 24, 2007, 14:31:17
Teraz powinno zadziałać.
Jak będziesz chciał w ten sposób wypisać jakiś tekst ze znakiem % to nie zadziała. :)
Czepiasz się, wystarczy dodać "%s" :)

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Grudzień 24, 2007, 15:49:03
Czepiasz się, wystarczy dodać "%s" :)
Czepianie się to dobra cecha każdego kodera, bo jak się koder nie przyczepi, to przyczepi się jakiś użytkownik, bo program na przykład zacznie mu się wywalać, jak wpisze tego procenta. :)

Offline Xion

  • Redaktor
    • xion.log

# Grudzień 24, 2007, 16:13:20
True. Niestety większość pisze
printf ("Hello world");zamiast
printf ("%s", "Hello world");i potem złe nawyki zostają :)

Offline Krzysiek K.

  • Moderator
    • DevKK.net

# Grudzień 24, 2007, 17:34:05
Xion: To pierwsze to akurat dobry nawyk. Po prostu zawsze trzeba myśleć co się pisze. :)