Преобразование irr::c8 в wchar_t*

Я делаю 3D-окружение, и хочу сделать так, чтобы при наведении перекрестия на объект всплывал какой-то текст с его описанием. Но у меня есть эта действительно раздражающая вещь в строковом формате.

  info.setText(CollMan->getSceneNodeFromScreenCoordinatesBB(blah)->getName());

info — текстовый объект, а getSceneNodeblahblah->getName — описание, которое я хочу.

Это не работает, потому что setText хочет wchar_t*, а getName() предоставляет irr::c8. .c_str(), похоже, вообще не помогает.

Как я могу заставить этих двоих играть хорошо?


person Magicaxis    schedule 15.05.2012    source источник
comment
Больше информации. Какой тип info? Это тоже объект Иррлихта? Иначе почему не принимает irr::c8? Это было бы и проще, и дизайн лучше. wchar_t вообще следует избегать.   -  person Konrad Rudolph    schedule 15.05.2012
comment
info — это irr::gui::IGUIStaticText. Я бы хотел избежать wchar_t, я просто не знаю, как заставить setText принимать что-то еще.   -  person Magicaxis    schedule 15.05.2012


Ответы (1)


Если я правильно читаю документы, вы сможете сделать это, сначала преобразовав его в irr::core::stringw следующим образом:

info.setText( irr::core::stringw( CollMan->getSceneNodeFromScreenCoordinatesBB(blah)->getName() ).c_str() );
person Goz    schedule 15.05.2012
comment
@MagicAxis: я нашел документы, буквально выполнив поиск irr::c8 ;) - person Goz; 15.05.2012
comment
LOL Клянусь, я тоже погуглил, и все, что я нашел, было несколько похожим сообщением на форуме и определением c8! Ааа ну ура :3 - person Magicaxis; 16.05.2012
comment
@Magicaxis: мне пришлось немного больше поискать в документации, но вы привыкаете находить то, что должно быть там, когда имеете дело с достаточным количеством API;) - person Goz; 16.05.2012