使用 std::wstring 或 wchar_t 进行 Poco 日志记录
Poco Logging with std::wstring or wchar_t
是否可以使用 Poco 记录器记录 std::wstring
?
就像这个简短的例子:
int main(int argc, char** argv)
{
Logger& logger = Logger::get("Testlogger");
std::wstring WStringMessage = L"Message as a WString";
std::string StringMessage = "Message as a String";
//logger.information(WStringMessage); //Did not compile because it only takes a String
logger.information(StringMessage);
system("PAUSE");
return 0;
}
是否有可能的解决方案,或者我是否必须将每个 std::wstring
转换为 std::string
?
std::wstring
在其他 Poco 库(如 XML 中)的支持如何?
Poco 接口仅为 utf-8,因此您必须在将字符串发送到记录器之前将其转换为 utf-8:
std::string msg;
Poco::UnicodeConverter::convert(WStringMessage, msg);
logger.information(msg);
对于XML,参见here,但基本上推荐是一样的——使用utf-8。
是否可以使用 Poco 记录器记录 std::wstring
?
就像这个简短的例子:
int main(int argc, char** argv)
{
Logger& logger = Logger::get("Testlogger");
std::wstring WStringMessage = L"Message as a WString";
std::string StringMessage = "Message as a String";
//logger.information(WStringMessage); //Did not compile because it only takes a String
logger.information(StringMessage);
system("PAUSE");
return 0;
}
是否有可能的解决方案,或者我是否必须将每个 std::wstring
转换为 std::string
?
std::wstring
在其他 Poco 库(如 XML 中)的支持如何?
Poco 接口仅为 utf-8,因此您必须在将字符串发送到记录器之前将其转换为 utf-8:
std::string msg;
Poco::UnicodeConverter::convert(WStringMessage, msg);
logger.information(msg);
对于XML,参见here,但基本上推荐是一样的——使用utf-8。