У меня есть следующий код:wstring_converter исключение при анализе с-строку
#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
using namespace std;
int main()
{
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
const char val[] = "+3°C";
wstring text = converter.from_bytes(val);
return 0;
}
Проблема заключается в том, что метод converter.from_bytes
генерирует исключение. Зачем? Как следует анализировать данную строку?
Исключение типа std::range_error
с сообщением
плохого преобразованием
Проблема связана с характером «°», так как если я удалю этот персонаж конверсия работает отлично.
Какое исключение? Почему бы вам не рассказать нам? :( –
[Работает для меня] (http://coliru.stacked-crooked.com/a/23923c288ed5f9f3). –
@LightnessRacesinOrbit Это не работает для меня, см. Мое редактирование. Я использую Visual Studio 2013. – Nick