我正在使用POCO C ++库版本 1.7.5 从数据库加载一些记录并使用POCO logger实用程序将它们记录在文件中。其中一个字符串记录采用unicode格式,我保存在std::wstring
中。我找不到如何使用POCO记录器记录std::wstring
。
Poco::Logger logger;
std::wstring gameName;
...
logger.information("GameName: %s", gameName.c_str());
结果是:
2017-04-27 11:47:28.438 - GameName: [ERRFMT]
如何正确记录std::wstring
?
答案 0 :(得分:1)
Poco不直接支持wstring日志记录,并且Poco的private void loadConfig() {
this.getConfig().options().copyDefaults(true);
this.saveConfig();
}
函数使用类型安全格式。
请参见format。
但是Poco具有UnicodeConverter类。
因此您可以通过
import sklearn
import numpy as np
from mlxtend.plotting import plot_confusion_matrix
import matplotlib.pyplot as plt
y_pred = model.predict(X_test)
Y_pred_classes = np.argmax(y_pred,axis=1)
Y_true = np.argmax(Y_test,axis=1)
confusion_mtx = sklearn.metrics.confusion_matrix(Y_true, Y_pred_classes)
plot_confusion_matrix(confusion_mtx, class_names = allCategories() )
将format
转换为std::wstring
,例如:
std::string
我希望这会有所帮助。
答案 1 :(得分:0)
假设logger.information();
与printf有效,你可以试试%ls
表示字符串:
logger.information("GameName: %ls", gameName);
表示char:
logger.information("GameName: %lc", gameName);