Вопрос заключается в том, как преобразовать wstring в строку?
У меня есть следующий пример:
#include <string>
#include <iostream>
int main()
{
    std::wstring ws = L"Hello";
    std::string s( ws.begin(), ws.end() );
  //std::cout <<"std::string =     "<<s<<std::endl;
    std::wcout<<"std::wstring =    "<<ws<<std::endl;
    std::cout <<"std::string =     "<<s<<std::endl;
}
вывод с пронумерованной строкой:
std::string =     Hello
std::wstring =    Hello
std::string =     Hello
но не только:
std::wstring =    Hello
В этом примере что-то не так? Могу ли я сделать преобразование, как указано выше?
ИЗМЕНИТЬ
Новый пример (с учетом некоторых ответов) -
#include <string>
#include <iostream>
#include <sstream>
#include <locale>
int main()
{
    setlocale(LC_CTYPE, "");
    const std::wstring ws = L"Hello";
    const std::string s( ws.begin(), ws.end() );
    std::cout<<"std::string =     "<<s<<std::endl;
    std::wcout<<"std::wstring =    "<<ws<<std::endl;
    std::stringstream ss;
    ss << ws.c_str();
    std::cout<<"std::stringstream =     "<<ss.str()<<std::endl;
}
Вывод:
std::string =     Hello
std::wstring =    Hello
std::stringstream =     0x860283c
поэтому stringstream не может использоваться для преобразования wstring в строку.

