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

[SFML] Polskie znaki ze stringu

Ostatnio zmodyfikowano 2014-11-26 17:23
Autor Wiadomość
Hipochondryk
Temat założony przez niniejszego użytkownika
[SFML] Polskie znaki ze stringu
» 2014-11-24 20:22:41
Witam,


C/C++
sf::Text any;
....
any.setString( L"zażółć gęślą jaźń" );

Powyższy kod wyświetla mi polskie znaki.

C/C++
std::string str = foo(); // funkcja foo zwraca string.
sf::Text any;
....
any.setString( str );

jak zrobić by w drugim przypadku również wyświetlić polskie znaki ? Ręczna konwersja?

próbowałem :
C/C++
std::string str = foo(); // funkcja foo zwraca string.
sf::Text any;
....
any.setString( static_cast < wchar_t *>( str ) );
ale wyświetla krzaczki.
P-121307
MrPoxipol
» 2014-11-24 20:26:36
wstring, albo sf::String. Zaleca się używać w SFMLu tego drugiego.
P-121308
Hipochondryk
Temat założony przez niniejszego użytkownika
» 2014-11-24 20:37:05
C/C++
any.setString( static_cast < sf::String >( str ) );
any.setString( static_cast < std::wstring >( str.begin(), str.end() ) );
std::wstring wsTmp( str.begin(), str.end() );
any.setString( wsTmp );
w żadnym przypadku nie są wyświetlane polskie znaki.
P-121309
michal11
» 2014-11-24 22:55:46
Zastanów się, skoro twoja funkcja nie zwraca polskich znaków to jak chcesz je sobie wyczarować ?
P-121330
Hipochondryk
Temat założony przez niniejszego użytkownika
» 2014-11-24 23:25:19
Ok, podany kod jest może niezbyt odpowiedni. Powyższe kody też nie działają jeśli stringowi str przypiszę ręcznie "zażółć gęślą jaźń"
P-121332
killjoy
» 2014-11-24 23:39:14
P-121335
Hipochondryk
Temat założony przez niniejszego użytkownika
» 2014-11-25 00:13:20
michal11 - sprawdziłem funkcja zwraca polskie znaki ponieważ na konsoli je wyświetliła - więc to Ty się zastanów nim znowu coś napiszesz.
P-121340
michal11
» 2014-11-25 01:45:01
String z biblioteki standardowej nie jest w stanie przechowywać polskich znaków. Więc nie ma możliwości aby przeprowadzić jakąkolwiek konwersję(no chyba, że będziesz sprawdzał jaki krzaczek odpowiada jakiej polskiej literze), ponieważ po zapisaniu do zmiennej tego "polskiego" stringa pogubisz polskie znaki. Jeżeli masz taką możliwość do przechowuj teksty w std::wstring która obsługuje polskie znaki.

Czy możesz pokazać jak to sprawdziłeś ?
P-121342
« 1 » 2 3
  Strona 1 z 3 Następna strona