Qt使用QString中arg導致程式閃退

2021-08-21 11:51:11 字數 385 閱讀 1916

最近專案外面反饋程式出現閃退問題,根據一步步除錯,發現在記錄日誌中導致,

之前**是從其他地方拷貝,修改部分地方沒注意. 

報錯**:

qstring strlog=qstring("[超標留樣],留樣瓶號為%1").arg(strlog).arg(m_pcyq->getbottlenum());

原本定義為:

qstring strlog=qstring::fromutf8("超標留樣");

strlog=qstring("[%1],留樣瓶號為%2").arg(strlog).arg(m_pcyq->getbottlenum());

前面沒有定義就使用了strlog,導致程式崩潰,這種明顯錯誤在編譯的時候沒有報出來,看來使用arg時候還是要小心點。

Qt中QString的arg()函式使用記錄

qstring arg 是用字串變數引數依次替代字串中最小數值大致有如下3種用法 1 arg str1,str2,str3 其中一次可替換引數個數最多為9個,舉例如下 qstring str qstring 1 2 3 4 5 6 7 8 9 10 11 arg 1 2 3 4 5 6 7 8 9 ...

QT學習 QString的arg方法

自 在qt的qstring中,arg方法類似於c中的printf中使用的格式輸出符 只是有點類似 在qt5的幫助文件中,有如下幾種用法 使用arg str1,str2,str3 這種方法進行替換。使用arg str1 arg str2 arg str3 這種方法進行替換。使用arg int,int,...

QT中關於arg 函式

這個函式應該是用引數替代字串中的百分值,從小到大替換,1 99 qt助手有乙個例子如下 code c qstring str str 1 2 str.arg 1f hello returns 1f hello str.arg 1f arg hello returns hellof 2 code st...