導(dǎo)航

          <2012年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345
          統(tǒng)計(jì)
          • 隨筆 - 63
          • 文章 - 1
          • 評(píng)論 - 11
          • 引用 - 0

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

           

          Qt入門-QByteArray類

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

          Qt GUI API中使用Unicode類型的字符串類QString。使用Unicode的好處是可以支持更多的地區(qū)語(yǔ)言,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. //返回字符串的長(zhǎng)度  
          25. uint    qstrlen ( const char * str )  
          26. uint    qstrnlen ( const char * str, uint maxlen )  
          27. //固定長(zhǎng)度內(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) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
           
          主站蜘蛛池模板: 黄山市| 莆田市| 安远县| 昌都县| 竹溪县| 扎鲁特旗| 巴青县| 沽源县| 敖汉旗| 武城县| 仁布县| 综艺| 海原县| 大化| 泾源县| 疏附县| 中西区| 荥阳市| 茶陵县| 临邑县| 盘山县| 巨鹿县| 瑞丽市| 金昌市| 宁德市| 平谷区| 民县| 离岛区| 奉新县| 富宁县| 湘潭市| 望都县| 嘉兴市| 博乐市| 红原县| 温宿县| 高邮市| 绍兴县| 乐安县| 衡阳县| 随州市|