您好,登錄后才能下訂單哦!
這篇文章主要介紹“Qt各種字符轉換怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Qt各種字符轉換怎么實現”文章能幫助大家解決問題。
int i = 5; QString s = QString::number(i);
QString str = "hello"; str = str.toUpper(); //轉換為大寫HELLO str = str.toLower(); //轉換為小寫hello
2.1 QByteArray 轉 char* 方式1 傳統(tǒng)方式data()和size()函數 (方便) QByteArray array(10, 'Q');//初始化 // 轉化 char *buf;//只是一個指針 int len;//buf的長度 buf = array.data(); len = array.size(); 方式2 memcpy()方式 (靈活) QByteArray array(9,'Q'); char buf[10];//數組 int len_array = array.size(); int len_buf = sizeof(buf); int len = qMin( len_array, len_buf ); // 轉化 memcpy( buf, array, len );
2.QByteArray與int 以及int[] 的轉換 2.1. int 與 QByteArray 互轉 [1] int 轉 QByteArray // int 轉 QByteArray int intVar = 199; QByteArray array; int len_intVar = sizeof(intVar); array.resize(len_intVar); memcpy(array.data(), &intVar, len_intVar); [2]QByteArray 轉 int // QByteArray 轉 int // array 數據接上面 int outIntVar; memcpy(&outIntVar, array.data(), len_intVar); //memcpy(&outIntVar, array, len_intVar);//此行代碼與上句通用
2.2. int[] 與 QByteArray 互轉 [1] int[] 轉 QByteArray // int[] 轉 QByteArray // int[] 轉 QByteArray int intVar[4] = {1,2,9,0};//初始化變量賦值 QByteArray array; int len_intVar = sizeof(intVar); array.resize(len_intVar); //轉換 int[] -> QByteArray memcpy(array.data(), &intVar, len_intVar); [2]QByteArray 轉 int[] // QByteArray 轉 int[] // array 數據接上面 int outIntVar[4]; memcpy(&outIntVar, array.data(), len_intVar); //memcpy(&outIntVar, array, len_intVar);//此行代碼與上句通用
3.QByteArray與float 以及float[] 的轉換 其實完全可以參考第3節(jié),int的用法. 3.1. float[] 與 QByteArray 互轉 [1] float[] 轉 QByteArray // float[] 轉 QByteArray float fVar[4] = { 1.1, 2.3, 9.5, 0.2 };//初始化變量賦值 QByteArray array; int len_fVar = sizeof(fVar); // 4*4 = 16 (一個float占4個字節(jié)) array.resize(len_intVar); memcpy(array.data(), &fVar, len_fVar); [2]QByteArray 轉 float[] // QByteArray 轉 float[] float outFvar[4]; memcpy(&outIntVar, array.data(), len_fVar); //memcpy(&outFvar, array, len_fVar);//此行代碼與上句通用 3.2. float 與 QByteArray 互轉 可以安全參考int。
關于“Qt各種字符轉換怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。