Как преобразовать ATL/MFC CString в QString?

Учитывая, что кодировка проекта, вероятно, Unicode (но не точно), какой лучший способ преобразования ATL::CString в QString?

Вот что я придумал:

CString c(_T("SOME_TEXT"));
//...
std::basic_string<TCHAR> intermediate((LPCTSTR)c);
QString q;

#ifdef _UNICODE 
q = QString::fromStdWString(intermediate);
#else
q = QString::fromStdString(intermediate);
#endif

Как вы думаете, это работает? Есть другие идеи?

5
задан Cody Gray 2 June 2011 в 14:57
поделиться