最近使用到了mysql-connector-cpp,通过这个库获取到的字符串类型是mysql::string,其实其实质就是mysql自己实现的wstring。
如果直接进行转换:
mysqlx::string s2 = i2.get(0);
string s = s(s2);
这样的话,在s的最后会多出来一个‘\u0000’。
所以我们必须先将utf-16的字符串转化为utf-8的字符串。
std::wstring_convert这个类可以实现这个功能
template< class Codecvt,
class Elem = wchar_t,
class Wide_alloc = std::allocator,
class Byte_alloc = std::allocator >
Codecvt参数:
Elem:和codecvt中的Elem一致。
常用互换函数:
std::</