美文网首页Qt学习
使用QString的arg方法一定要小心

使用QString的arg方法一定要小心

作者: mercurygear | 来源:发表于2019-03-15 19:43 被阅读0次

工作中我们一般会大量使用到QString的arg来进行字符串的拼接,因为使用起来确实比较直观方便,但是当你链式使用arg时(即 .arg(xxx).arg(xxx).arg(xxx)....这样的形式),一定要小心,要确保arg的参数内容没有形如%<1-99>这样的内容。

因为一旦有这样的内容,后续arg就会把这些内容进行错误的替换(除非这是你想要的效果)。
很多时候,像url、路径、文件名这些都会可能出现这样形式的内容,尤其是url,进行了urlencode的链接就很可能有这种。

为了避免出现这种不必要的错误,虽然我们可以选择用QTextStrem或QString::asprintf来替代arg进行字符串拼接的工作,但是这两种方式都没有arg那么好用。
既然要用arg的话,那么我们就尽量避免链式调用arg,转而使用arg的多参数重载方法,重载版本有可以支持从1个QString直到9个QString的参数。
使用这种多参数的版本,我们所有的参数都会一次给到arg进行拼接,就不会出现链式调用的那种问题了。

如果拼接的参数多于9个呢,这时候可以变通一点,拆分成两个arg的链式调用,第一个arg的调用参数要确保为不会出现%<1-99>这样的内容,后一个就不受限制了。

相关文章

  • 使用QString的arg方法一定要小心

    工作中我们一般会大量使用到QString的arg来进行字符串的拼接,因为使用起来确实比较直观方便,但是当你链式使用...

  • StringBuilder的简单实现

    QString.arg 在Qt中QString有个arg方法,使用方式如下: 通过这种方式即可构造出一个字符串:a...

  • Qt QString的使用

    Qt QString的使用 1. QString的arg()函数 函数介绍: 示例代码 上述函数执行效果:Deci...

  • QString之arg

    QString的arg接口主要用于字符串组合的功能。 arg接口列表 基本使用 使用%1-%99占位符来组合数据,...

  • qDebug输出QString

    在使用qDebug输出QString,直接输出会有问题,正确的方法如下: QString a = “Hello W...

  • js call与apply方法的用法

    差别 call方法使用 function.call(this.obj,arg1,arg2,...)apply方法...

  • qt 常用类

    QString和QJsonObject互转 QString 和char *转char[] QFile使用

  • Qt字符串QString arg()用法总结

    1、QString::arg() 用字符串变量参数依次替代字符串中最小数值 输出结果为:"Processing f...

  • JS中的call、apply、bind方法

    一、call()和apply()方法 call方法: 语法:call(thisObj,[,arg1[, arg2]...

  • Qt 常用类型转换

    QString 转 BSTR BSTR 转 QString LPCWSTR 转 QString QString 转...

网友评论

    本文标题:使用QString的arg方法一定要小心

    本文链接:https://www.haomeiwen.com/subject/tanrmqtx.html