Я использую wxWidgets с C++. У меня есть wxTextCtrl, в котором пользователь вводит набор байтов в шестнадцатеричном формате, разделенных пробелом. Я хочу получить их в unsigned char array. Как преобразовать из строки типа «AB D3 4F A A1 0B», чтобы получить результирующий массив: [171, 211, 79, 10, 161, 11]?wxWidgets wxString
0
A
ответ
2
Я бы использовал wxStringTokenizer, чтобы разбить строку на отдельные гексы, а затем sscanf, чтобы преобразовать их в числовые значения.
Что-то вроде этого:
std::vector<unsigned char> vec;
wxStringTokenizer tkz(thetextCtrl->GetValue(), wxT(" "));
while (tkz.HasMoreTokens())
{
wxString token = tkz.GetNextToken();
unsigned char v;
sscanf(token.c_str(),"%x",&v)
vec.push_back(v);
}
0
Вы также можете использовать boost::tokenizer, чтобы разбить строку на лексемы и this для преобразования строковых значений в шестнадцатеричные значения.
1
Вместо того, чтобы использовать sscanf для преобразования Hex в целое число можно также использовать ToULong operation of a wxString в базе 16.
wxString token = tkz.GetNextToken();
unsigned long ulVal;
if (token.ToULong(&ulVal, 16) == true)
{
vec.push_back((unsigned char)v);
}
else
{
// A default value for example ...
vec.push_back((unsigned char)0);
}
Смежные вопросы
- 1. WxWidgets using wxString
- 2. WxWidgets: wxString :: wxString (интермедиат) частное в этом контексте
- 3. C++ wxWidgets - Создание wxDateTime из wxString
- 4. Преобразование UTF8 wxString :: ToStdString()
- 5. Зачищающие символы wxString
- 6. Использование wxString с Google Mock
- 7. wxwidgets saveFile
- 8. wxWidgets reading from socket
- 9. wxWidgets: получение пути приложения
- 10. хороший тип словаря для wxwidgets
- 11. wxWidgets program seg faulting
- 12. Чтение NRC как & в wxString
- 13. WxWidgets строка на окнах
- 14. wxWidgets and Unicode
- 15. Исключение с помощью семафора wxwidgets
- 16. WxWidgets получение пути приложения
- 17. Рисование * .ico файл на wxWidgets
- 18. wxWidgets Пример Hello World не компилируется
- 19. CreateFile сбой в wxWidgets
- 20. Как обрабатывать символ UTF8 wxString по характеру
- 21. Работа с wxWidgets и Unicode
- 22. wxString to UniChar *
- 23. wxString format Unicode character
- 24. convert wxString to time_t
- 25. WxWidgets: Troubling Callling wxFrame ConstructorE
- 26. проблема WxWidgets - не удается преобразовать из 'сопзЬ полукокса [1]' к «wxString & ш
- 27. Как работать с wxString, числами и другими строковыми типами в wxWidgets
- 28. WxWidgets Флажок событие лямбда
- 29. wxWidgets и UTF8 - некоторые символы отсутствуют
- 30. Простой интерпретатор Lua, встроенный в wxWidgets