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

工作中我們一般會大量使用到QString的arg來進行字符串的拼接,因為使用起來確實比較直觀方便,但是當你鏈式使用arg時(即 .arg(xxx).arg(xxx).arg(xxx)....這樣的形式),一定要小心,要確保arg的參數(shù)內(nèi)容沒有形如%<1-99>這樣的內(nèi)容。

因為一旦有這樣的內(nèi)容,后續(xù)arg就會把這些內(nèi)容進行錯誤的替換(除非這是你想要的效果)。
很多時候,像url、路徑、文件名這些都會可能出現(xiàn)這樣形式的內(nèi)容,尤其是url,進行了urlencode的鏈接就很可能有這種。

為了避免出現(xiàn)這種不必要的錯誤,雖然我們可以選擇用QTextStrem或QString::asprintf來替代arg進行字符串拼接的工作,但是這兩種方式都沒有arg那么好用。
既然要用arg的話,那么我們就盡量避免鏈式調(diào)用arg,轉(zhuǎn)而使用arg的多參數(shù)重載方法,重載版本有可以支持從1個QString直到9個QString的參數(shù)。
使用這種多參數(shù)的版本,我們所有的參數(shù)都會一次給到arg進行拼接,就不會出現(xiàn)鏈式調(diào)用的那種問題了。

如果拼接的參數(shù)多于9個呢,這時候可以變通一點,拆分成兩個arg的鏈式調(diào)用,第一個arg的調(diào)用參數(shù)要確保為不會出現(xiàn)%<1-99>這樣的內(nèi)容,后一個就不受限制了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,727評論 0 5
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,353評論 0 10
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,681評論 1 32
  • 歲月靜好,金秋10月,一聲槍響,從此半馬心中存。 還記得9月24號那天朋友來電興奮地說 “津全,鄭馬開始報名了,你...
    Monster小沫閱讀 387評論 1 1
  • 第一部份大意: 中國政府的監(jiān)管風(fēng)波使得有政府背景的公司對投資人來說也變得不再安全。這個風(fēng)波讓許多公司措手不及。在1...
    fantasyrex3閱讀 215評論 0 0

友情鏈接更多精彩內(nèi)容