The "Unicode string" is really not specific enough to know what your source data is, but you probably mean the "UTF-16 string stored as a wchar_t array", since most people who don’t know the correct terminology use .
"char *" is also not enough to know what you want to target, although perhaps embarcadero has some conventions. I just assume that you want UTF-8 data unless otherwise indicated.
, VS2010
wchar_t const * utf16_string = L"Hello, World!";
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t> convert;
std::string utf8_string = convert.to_bytes(utf16_string);
, wchar_t UTF-16, Windows, .