原文https://blog.csdn.net/yunccll/article/details/6861109
所有SU_DEBUG可以看作printf函数的名字
1. QString的printf输出
由于printf只能接受 const char * 类型, QString 需要使用ToAscii转换为 QByteArray后,获取其data,再传给printf
static voidTest_Print()
{
QString str("hello");
SU_DEBUG(str.toAscii().constData());
}
QT一般不建议使用printf输出
1. Qstring 格式化字符串输出
QString使用arg来支持格式化字符串,与C# 或者JAVA使用的占位符相似,因为是强类型的替换,通过重载的arg函数可以知道传入参数的类型
static voidTest_FormatString()
{
QString fmt("%1 %2");
QString str = fmt.arg(10).arg(20);
SU_DEBUG(str.toAscii().constData());
}
2. 数值到Qstring 的转换
有两种,一种是静态方法直接返回新字串 QString::Number,另外一种是QString的成员函数setNum,返回引用
static voidTest_Number2String()
{
QString str;
str.setNum(100);
SU_DEBUG(str.toAscii().constData());
str = QString::number(200);
SU_DEBUG(str.toAscii().constData());
}
3. QString 到数值的转换
成员函数直接输出
static voidTest_String2Number()
{
QString str("100");
SU_DEBUG("QString [%s] to int [%d]",str.toAscii().constData(), str.toInt());
}
---------------------
作者:yunccll
来源:CSDN
原文:https://blog.csdn.net/yunccll/article/details/6861109
版权声明:本文为博主原创文章,转载请附上博文链接!