Используйте макросы преобразования строк ATL и MFC . Это работает независимо от того, используете ли вы компиляцию в режиме _UNICODE
или ANSI.
Вы можете использовать эти макросы, даже если вы не используете MFC. Просто включите два заголовка ATL, показанных в этом примере:
#include <string>
#include <Windows.h>
#include <AtlBase.h>
#include <AtlConv.h>
int main()
{
std::wstring myString = L"Hello, World!";
// Here is an ATL string conversion macro:
CW2T pszT(myString.c_str());
// pszT is now an object which can be used anywhere a `const TCHAR*`
// is required. For example:
::MessageBox(NULL, pszT, _T("Test MessageBox"), MB_OK);
return 0;
}