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

[SFML 2.1] polskie znaki w sf::String

Ostatnio zmodyfikowano 2014-01-01 18:49
Autor Wiadomość
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
P-100737
pekfos
» 2013-12-31 13:11:44
Używaj std::wstring.
P-100740
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.
P-100749
Piotr020798
Temat założony przez niniejszego użytkownika
» 2013-12-31 15:01:02
To jak powinno to poprawnie wyglądać?
P-100752
DejaVu
» 2013-12-31 15:11:48
Poprawnie powinieneś tekst wczytywać z poziomu aplikacji SFML-a.
P-100755
Piotr020798
Temat założony przez niniejszego użytkownika
» 2013-12-31 15:25:15
Tak własnie robię i nie działa.
P-100760
DejaVu
» 2013-12-31 15:34:13
Wczytujesz za pomocą konsoli, a nie za pomocą aplikacji okienkowej SFML.
P-100761
Piotr020798
Temat założony przez niniejszego użytkownika
» 2013-12-31 17:46:03
Wczytuje tak:
C/C++
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();
}
P-100773
« 1 » 2
  Strona 1 z 2 Następna strona