qt上的char * 和 QString互相转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt上的char * 和 QString互相转换相关的知识,希望对你有一定的参考价值。

    使用Qt开发嵌入式时,常引用一些C语言的驱动,那就涉及到QString和char *之间的互相转换,方法如下,直接上代码:

   // char[]转QString
    unsigned char buf[3]={0x2,0x56,0xff};
    QString str;
    for(int i =0;i < sizeof(buf)/sizeof(buf[0]);i++)
    {
        str += QString::number(buf[i]);
    }
    ui->textBrowser->append(str);
   //QString转char *
    QString str1 = "hello"; 
    QByteArray ba = str1.toLatin1();
    char *mm = ba.data();
    qDebug()<<mm<<endl;  //调试时,在console中输出
    //char *转QString
     QString nn = QString(QLatin1String(mm)); 
     qDebug()<<nn<<endl;  //调试时,在console中输出
     //QByteArray转char *
     QByteArray ba1("Hello world");
     char *data = ba1.data();
     while (*data) {
     qDebug() << "[" << *data << "]" << endl;
     ++data;
 }


本文出自 “孙国栋” 博客,请务必保留此出处http://qtlinux.blog.51cto.com/3052744/1752374

以上是关于qt上的char * 和 QString互相转换的主要内容,如果未能解决你的问题,请参考以下文章

Qt5 QString转换成char *乱码问题

如何将QString转换为char *或者相反

vs2013 提示无法从void转换为char

QT中enum和QString的互相转换。

wchar_t到QString的转换方法?

Qt中,把UTF-8的QString,转换成GBK的char[],怎么做?