std::wstring содержащую число в hex формате -> int
От: Аноним  
Дата: 04.10.07 06:39
Оценка:
Люди, поможите...
есть:
std::wstring s_value = L"0xc";

из него нужно получить:
int i_value == 12;

пытаюсь так:
std::wstringstream ss;
ss << std::dec << s_value;
ss >> i_value;

получаю i_value = 0 (т.е. из "0xc" берётся только ноль).
Что я не так делаю? Куда копать?
Re: std::wstring содержащую число в hex формате -> int
От: dip_2000 Россия  
Дата: 04.10.07 06:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Люди, поможите...

А>есть:
А>
А>std::wstring s_value = L"0xc";
А>

А>из него нужно получить:
А>
А>int i_value == 12;
А>

А>пытаюсь так:
А>
А>std::wstringstream ss;
А>ss << std::dec << s_value;
А>ss >> i_value;
А>

А>получаю i_value = 0 (т.е. из "0xc" берётся только ноль).
А>Что я не так делаю? Куда копать?


long l_value = wcstol( value.c_str(),L"\n" ,16)
Re[2]: std::wstring содержащую число в hex формате -> int
От: Аноним  
Дата: 04.10.07 07:10
Оценка:
Здравствуйте, dip_2000, Вы писали:

_>long l_value = wcstol( value.c_str(),L"\n" ,16)

Спасибо, это то что нужно. А средствами stl (хотелось бы через (w)stringstream) никак?
Re[3]: std::wstring содержащую число в hex формате -> int
От: Антрополог  
Дата: 04.10.07 08:04
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А средствами stl (хотелось бы через (w)stringstream) никак?

Вам нужен манипулятор std::hex.
[сcode]
std::wstring s_value = L"0xc";
int i_value;
std::wstringstream(s_value) >> std::hex >> i_value;
[/ccode]
Re[3]: std::wstring содержащую число в hex формате -> int
От: dip_2000 Россия  
Дата: 04.10.07 08:13
Оценка:
Здравствуйте, Аноним, Вы писали:
_>>long l_value = wcstol( value.c_str(),L"\n" ,16)
А>Спасибо, это то что нужно. А средствами stl (хотелось бы через (w)stringstream) никак?
А смысл? Если уж гарантированно соглашаться на серьезный проигрыш в производительности, то тог да уж
boost::lexical_cast — http://www.boost.org/libs/conversion/lexical_cast.htm
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.