Add u16string to string conversion function for CMKeyboardV2Controller.cpp
This commit is contained in:
parent
c6fe58e635
commit
511c266178
3 changed files with 10 additions and 1 deletions
|
|
@ -14,6 +14,7 @@
|
|||
#include <string>
|
||||
#include "CMKeyboardV2Controller.h"
|
||||
#include "LogManager.h"
|
||||
#include "StringUtils.h"
|
||||
|
||||
CMKeyboardV2Controller::CMKeyboardV2Controller(hid_device* dev_handle, hid_device_info* dev_info) : CMKeyboardAbstractController(dev_handle, dev_info)
|
||||
{
|
||||
|
|
@ -98,7 +99,7 @@ std::string CMKeyboardV2Controller::_GetFirmwareVersion()
|
|||
}
|
||||
|
||||
std::u16string usFirmwareVersion(reinterpret_cast<const char16_t*>(cVersionStr+8));
|
||||
std::string sFirmwareVersion(usFirmwareVersion.begin(), usFirmwareVersion.end());
|
||||
std::string sFirmwareVersion(StringUtils::u16string_to_string(usFirmwareVersion));
|
||||
|
||||
LOG_VERBOSE("[%s] GetFirmwareVersion(): [%s]", m_deviceName.c_str(), sFirmwareVersion.c_str());
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,13 @@ std::string StringUtils::wstring_to_string(const std::wstring wstring)
|
|||
return(converter.to_bytes(wstring));
|
||||
}
|
||||
|
||||
std::string StringUtils::u16string_to_string(const std::u16string wstring)
|
||||
{
|
||||
std::wstring_convert<std::codecvt_utf8_utf16<char16_t>,char16_t> converter;
|
||||
|
||||
return(converter.to_bytes(wstring));
|
||||
}
|
||||
|
||||
const std::string StringUtils::remove_null_terminating_chars(std::string input)
|
||||
{
|
||||
while (!input.empty() && input.back() == 0)
|
||||
|
|
|
|||
|
|
@ -16,5 +16,6 @@ class StringUtils
|
|||
public:
|
||||
static const char* wchar_to_char(const wchar_t* pwchar);
|
||||
static std::string wstring_to_string(const std::wstring wstring);
|
||||
static std::string u16string_to_string(const std::u16string wstring);
|
||||
static const std::string remove_null_terminating_chars(std::string input);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue