Qt入門-QByteArray類

          分類: [軟件]Qt+VS2008 2012-07-22 16:18 963人閱讀 評論(0) 收藏 舉報(bào)

          Qt GUI API中使用Unicode類型的字符串類QString。使用Unicode的好處是可以支持更多的地區(qū)語言,ASCII是Uncode的子集。

          QByteArray和QString的方法和屬性相似,可以參考QString。另外有一些與QByteArray相關(guān)的非成員函數(shù):

          1. //Related Non-Members  
          2.   
          3. //計(jì)算CRC16校驗(yàn)和  
          4. quint16 qChecksum ( const char * data, uint len )  
          5. //壓縮data,并返回新的值,參數(shù)compressionLevel的值是0~9  
          6. QByteArray  qCompress ( const QByteArray & data, int compressionLevel = -1 )  
          7. QByteArray  qCompress ( const uchar * data, int nbytes, int compressionLevel = -1 )  
          8. //解壓縮  
          9. QByteArray  qUncompress ( const QByteArray & data )  
          10. QByteArray  qUncompress ( const uchar * data, int nbytes )  
          11. //格式化字符串  
          12. int qsnprintf ( char * str, size_t n, const char * fmt, ... )  
          13. int qvsnprintf ( char * str, size_t n, const char * fmt, va_list ap )  
          14. //比較字符串  
          15. int qstrcmp ( const char * str1, const char * str2 )  
          16. //復(fù)制字符串  
          17. char *  qstrcpy ( char * dst, const char * src )  
          18. char *  qstrncpy ( char * dst, const char * src, uint len )  
          19. //分配空間復(fù)制字符串返回  
          20. char *  qstrdup ( const char * src )  
          21. //忽略大小寫的字符串比較  
          22. int qstricmp ( const char * str1, const char * str2 )  
          23. int qstrnicmp ( const char * str1, const char * str2, uint len )  
          24. //返回字符串的長度  
          25. uint    qstrlen ( const char * str )  
          26. uint    qstrnlen ( const char * str, uint maxlen )  
          27. //固定長度內(nèi)的字符串比較  
          28. int qstrncmp ( const char * str1, const char * str2, uint len )  
          29. //相關(guān)QByteArray和const char *的運(yùn)算符  
          30. bool    operator!= ( const QByteArray & a1, const QByteArray & a2 )  
          31. bool    operator!= ( const QByteArray & a1, const char * a2 )  
          32. bool    operator!= ( const char * a1, const QByteArray & a2 )  
          33. const QByteArray    operator+ ( const QByteArray & a1, const QByteArray & a2 )  
          34. const QByteArray    operator+ ( const QByteArray & a1, const char * a2 )  
          35. const QByteArray    operator+ ( const QByteArray & a1, char a2 )  
          36. const QByteArray    operator+ ( const char * a1, const QByteArray & a2 )  
          37. const QByteArray    operator+ ( char a1, const QByteArray & a2 )  
          38. bool    operator< ( const QByteArray & a1, const QByteArray & a2 )  
          39. bool    operator< ( const QByteArray & a1, const char * a2 )  
          40. bool    operator< ( const char * a1, const QByteArray & a2 )  
          41. QDataStream &   operator<< ( QDataStream & out, const QByteArray & ba )  
          42. bool    operator<= ( const QByteArray & a1, const QByteArray & a2 )  
          43. bool    operator<= ( const QByteArray & a1, const char * a2 )  
          44. bool    operator<= ( const char * a1, const QByteArray & a2 )  
          45. bool    operator== ( const QByteArray & a1, const QByteArray & a2 )  
          46. bool    operator== ( const QByteArray & a1, const char * a2 )  
          47. bool    operator== ( const char * a1, const QByteArray & a2 )  
          48. bool    operator> ( const QByteArray & a1, const QByteArray & a2 )  
          49. bool    operator> ( const QByteArray & a1, const char * a2 )  
          50. bool    operator> ( const char * a1, const QByteArray & a2 )  
          51. bool    operator>= ( const QByteArray & a1, const QByteArray & a2 )  
          52. bool    operator>= ( const QByteArray & a1, const char * a2 )  
          53. bool    operator>= ( const char * a1, const QByteArray & a2 )  
          54. QDataStream &   operator>> ( QDataStream & in, QByteArray & ba )  


          QByteArray與QString之間的轉(zhuǎn)換:

          示例:

          QByteArray cstr("abcd");
          QString s = cstr; 


          QByteArray cstr("abcd");
          QString s;
          s.prepend(cstr);


          QString s("hello");
          QByteArray cstr = s.toAscii();


          QString s("hello");
          QByteArray cstr = s.toLatin1();


          QByteArray類同樣不以'\0'為結(jié)尾:如

          1. QByteArray s;  
          2. s.resize(5);  
          3. s[0] = '1';  
          4. s[1] = '2';  
          5. s[2] = '3';  
          6. s[3] = '\0';  
          7. s[4] = 'a';  
          8.   
          9. cout << s << endl;  

          屏幕打印的是:“123 a”
          posted on 2012-12-06 01:15 姚先進(jìn) 閱讀(2369) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
           
          主站蜘蛛池模板: 房产| 会昌县| 绥德县| 潞城市| 许昌市| 江山市| 衡东县| 迁西县| 滁州市| 遂溪县| 芷江| 东乌珠穆沁旗| 桐梓县| 留坝县| 民乐县| 安图县| 当阳市| 云阳县| 凌云县| 贡觉县| 海兴县| 达孜县| 禄丰县| 柳州市| 拜泉县| 澳门| 额尔古纳市| 宾川县| 荔浦县| 阳高县| 曲靖市| 通河县| 临沂市| 岗巴县| 铁力市| 夏津县| 利津县| 青神县| 房产| 瓦房店市| 望江县|