[SFML 2.1] polskie znaki w sf::String
Ostatnio zmodyfikowano 2014-01-01 18:49
Piotr020798 Temat założony przez niniejszego użytkownika |
[SFML 2.1] polskie znaki w sf::String » 2013-12-31 12:13:47 Witam. W mojej grze wczytuje nick gracza z pliku, te dane przechowuje w std::string, następnie przepisuje je do zmiennej sf::String. Problem zaczyna się, gdy nick gracza zawiera polskie litery. Gdy wyświetlam nick w konsoli, wszystko jest OK, natomiast gdy rysuje w oknie gry, nie wyświetla polskich znaków. Wiem, że można to by było zrobić tak:
sf:String tekst(L"Jakiś tekst");
ale co zrobić w przypadku, gdy sf::String jest inicjalizowany obiektem klasy std::string, nie mogę dopisać tego L
|
|
pekfos |
» 2013-12-31 13:11:44 Używaj std::wstring. |
|
DejaVu |
» 2013-12-31 14:44:20 Bo jeżeli w konsoli wyświetla Ci się polski znak to znaczy, że dane zostały wprowadzone w kodowaniu stosowanym przez konsolę, a nie aplikacje okienkowe. Weź sobie zobacz pod debuggerem treść std::string, którą 'wbijasz' do sf::String to zobaczysz, że nawet tam będziesz miał 'dziwne' znaczki. |
|
Piotr020798 Temat założony przez niniejszego użytkownika |
» 2013-12-31 15:01:02 To jak powinno to poprawnie wyglądać? |
|
DejaVu |
» 2013-12-31 15:11:48 Poprawnie powinieneś tekst wczytywać z poziomu aplikacji SFML-a. |
|
Piotr020798 Temat założony przez niniejszego użytkownika |
» 2013-12-31 15:25:15 Tak własnie robię i nie działa. |
|
DejaVu |
» 2013-12-31 15:34:13 Wczytujesz za pomocą konsoli, a nie za pomocą aplikacji okienkowej SFML. |
|
Piotr020798 Temat założony przez niniejszego użytkownika |
» 2013-12-31 17:46:03 Wczytuje tak: using namespace std; using namespace sf;
fstream plik; plik.open( L"settings.ini", ios::in | ios::out );
if( plik.is_open() ) { string string_std; String string_sf; getline( plik, string_std ); string_sf = string_std; plik.close(); }
|
|
« 1 » 2 |