【发布时间】:2017-01-07 10:42:19
【问题描述】:
我正在尝试使用 Qt 日志记录,在该框架中我正在寻找 setw() 和 setfill() 的等效项。我有代码
int TestNum = 12;
ostringstream oss;
oss << setw(5) << setfill(' ') << TestNum;
qInfo() << "Simple ='" << TestNum << "'";
qInfo() << "Stream ='" << oss.str().c_str() << "'";
qInfo() << "QString ='" << QString("%1").arg(TestNum,5) << "'";
qInfo() << "char* ='" << QString("%1").arg(TestNum,5).toStdString().c_str() << "'";
输出是
Simple =' 12 '
Stream =' 12 '
QString =' " 12" '
char* =' 12 '
我的问题:
对于所有示例:如何摆脱有效载荷部分周围过时的 ' '? (如果我想用十六进制写 12,我会收到'x C')
引号是字符串的一部分吗? (根据转换,不是。在QT的框架内,是的。)转换多少才有效,如果打印的图像,长度等不同?
我对在Qt的框架中,不转换函数的结果,产生用请求的空格数填充的数字,不能产生吗?
为什么 '
为了与 C++ 兼容(例如可以与 Qt 一起使用或不与 Qt 一起使用的函数),ostringstream 方法似乎生成的项目较少。有更好的主意吗?
【问题讨论】: