Чтобы не пропускать пробелы, используйте std :: istreambuf_iterator
std::copy(std::istreambuf_iterator<wchar_t, wchar_t>(is),
std::istreambuf_iterator<wchar_t, wchar_t>(),
std::ostream_iterator<wchar_t, wchar_t>(std::wcout));
Исключение:
Возможно, локальный использует фасет codecvt, который не работает.
Попробуйте закомментироватьстрока локали посмотрим, что произойдет.
Вы пытались напечатать, что такое исключения?
try
{
// do work
}
catch(std::exception const& e)
{
std::cout << e.what() << "\n";
}