Вам не нужно использовать прямые символы новой строки, чтобы сделать это:
const wchar_t* original(L"original value");
std::wostringstream streamVal;
streamVal << original << std::endl;
const std::wstring modified(streamVal.str());
Пройдя через _bstr_t
, кажется болезненным, но позволяет довольно легко выполнить преобразование широкого символа в многобайтовый (маленькийкод).Включите comsuppw.lib
в список библиотек вашего проекта.
#include "comutil.h"
_bstr_t bstrVal(modified.c_str());
const char* multibytes((const char*)bstrVal);
std::cout << multibytes; // includes newline