• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Błąd SFML C++

Object Storage Arubacloud
+1 głos
190 wizyt
pytanie zadane 14 lutego 2020 w C i C++ przez Nabuchadonozor Gaduła (3,120 p.)
zamknięte 15 lutego 2020 przez Nabuchadonozor

Witam z uśmiechem w ten jakże ponury dzień.

Wystąpił pewien problem w kodzie pewnej gry. Otóż podczas kompilacji w tym miejscu:

void startConsole() {
   std::stringstream ss;
   ss << "konsola gry numer: " << time(0);
   std::string s = ss.str();
   std::wstring stemp = std::wstring(s.begin(), s.end());
   LPCWSTR sw = stemp.c_str();
   HWND cw = GetConsoleWindow(); // okno konsoli przypisujê do cw dziêki bibliotece windows.h
   SetWindowText(cw, sw); // zmieniam tytu³ okna
   //SetWindowPos(cw,HWND_TOPMOST,0,0,980,730,SWP_NOMOVE); // always on top

}

wyskakuje błąd - "cannot convert 'LPCWSTR (aka const wchar_t*' to 'LPCSTR (aka const char*) .....

Mój mózg już się przegrzewa od poszukiwania rozwiązania tego problemu... Nie daję rady. Była by jakaś dobra duszyczka w stanie jakoś chociażby nakierować na dobry trop? Byłbym przewdzięczny. 

komentarz zamknięcia: zmiana z SetWindowText(cw, sw);  -> SetWindowTextW(cw, sw); naprawiła problem :)
komentarz 15 lutego 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Używam Code Blocks 17.12, z tego co kojarzę - Unicode to to samo co UTF-8 - ustawiając w Settings -> Editor -> Encoding Settings -> "Use encoding when opening files: UTF-8" - problem występuje nadal :(
komentarz 15 lutego 2020 przez adrian17 Ekspert (344,860 p.)
edycja 15 lutego 2020 przez adrian17
Nie, ta opcja jest zupełnie niezwiązana i dotyczy zupełnie czegoś innego ;) Tylko czytania kodu przez edytor, a nie działania programu.
A co z SetWindowTextW ?
komentarz 15 lutego 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Właśnie patrzę na necie odnośnie Twojej rady "wywołaj SetWindowTextW bezpośrednio" - co dokładnie miało to znaczyć, przeczuwam, że w mainie a nie w voidzie jak w przypadku kodu tej gry, ale robiąc to co wydaje mi się, że chciałeś żebym zrobił - różne błędy co chwile :|

Od razu dodam, że nie jestem jakimś tam zaawansowanym programistą - od miesiąca się uczę - potrafię noce nawet spędzać nad programowaniem - choć jeszcze nie mam wszystkiego dobrze opanowanego.
1
komentarz 15 lutego 2020 przez adrian17 Ekspert (344,860 p.)

Właśnie patrzę na necie odnośnie Twojej rady "wywołaj SetWindowTextW bezpośrednio" - co dokładnie miało to znaczyć, przeczuwam, że w mainie a nie w voidzie jak w przypadku kodu tej gry, ale robiąc to co wydaje mi się, że chciałeś żebym zrobił - różne błędy co chwile :|

Miałem na myśli, żeby w tym miejscu

SetWindowText(cw, sw);

dopisać literę W. Wtedy powinieneś dostać funkcję która bierze LPCWSTR.

komentarz 15 lutego 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Kooooooooocham Cię!

A tak poważnie naprawdę dziękuję Ci z całego serca, to było dla mnie męczarnią się nad tym problemem rozwodzić, zmiana z SetWindowText(cw, sw);  -> SetWindowTextW(cw, sw); pozwoliła mi na odpalenie programu :) Dziękuję jeszcze raz!

Podobne pytania

0 głosów
1 odpowiedź 180 wizyt
pytanie zadane 23 sierpnia 2016 w C i C++ przez daniel18122 Początkujący (250 p.)
0 głosów
1 odpowiedź 2,414 wizyt
pytanie zadane 15 stycznia 2018 w C i C++ przez Sebastian1107 Początkujący (350 p.)
0 głosów
1 odpowiedź 400 wizyt
pytanie zadane 30 marca 2017 w C i C++ przez Milesq Nałogowiec (32,020 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...