我正在尝试在 和 的帮助下处理 UTF-16 字符串(放置在缓冲区中buf
)。此代码中出现异常。我的代码有问题吗?还是 gcc 的 STL 不能处理(16 位)符号?std::basic_string
istringstream
std::bad_cast
unsigned int
const unsigned short * buf;
// ... fiilling buf
std::basic_string<unsigned short> w(buf);
std::basic_istringstream<unsigned short> iss(w);
unsigned int result;
try { iss >> result; }
catch (std::exception& e)
{
const char * c = e.what();
}
std::wstring
相同的代码std::wistringstream
可以正常工作。