我写了一个加载/保存/创建 INI 数据格式的 INI 类,但是现在它只适用于 ascii 字符,我想扩展它以使用任何类型的字符编码,所以除了 char , wchar_t。为此,我必须设置各种字符串函数来进行解析;我有一些设置,但是我需要重写它们以使用任何类型的 basic_string。
所以,关于我的问题,我想要一个适用于任何类型字符编码的 ToString 函数,我该怎么做?
我有以下两个功能:
template <typename T>
static string toStr(const T& val)
{
stringstream out;
out << val;
return out.str();
}
template <typename T>
static wstring toWStr(const T& val)
{
wstringstream out;
out << val;
return out.str();
}
最佳答案
当我最初发布这个问题时,我已经接近答案了,但是犯了一个粗心的错误,因此在我还在打字的时候就解决了我自己的问题。所以对于那些想要一个适用于各种字符串编码的通用 toString 函数的人来说,这里是:
template<typename CharType, typename T>
static basic_string<CharType, char_traits<CharType>, allocator<CharType>> toString(const T& val)
{
basic_stringstream<CharType> out;
out << val;
return out.str();
}
关于c++ - 适用于不同字符编码的模板 ToString 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5477563/