zoukankan      html  css  js  c++  java
  • QString QByteArray char 之间的转换

    QString QByteArray char 之间的转换

    {
        // 1. char 与 QChar 的转换
        char ch1 = 'a';
        QChar qch1 = QChar::fromLatin1('b');
        qDebug("file(%s) fileno(%d) : ch1(%c) str2(%c)", __FILE__, __LINE__, ch1, qch1.toLatin1());
        qch1 = QChar::fromLatin1(ch1);
        ch1 = qch1.toLatin1();
        qDebug("file(%s) fileno(%d) : ch1(%c) str2(%c)", __FILE__, __LINE__, ch1, qch1.toLatin1());
    
        // 2. char * 与 const char * 的转换
        char * str1 = const_cast<char *>("Hello char string 您好");
        const char * str2 = "Hello const char string 您好";
        qDebug("file(%s) fileno(%d) : str1(%s) str2(%s)", __FILE__, __LINE__, str1, str2);
        str2 = str1; // 可以正常赋值, 没有警告
        str1 = const_cast<char *>(str2); // 使用 const_cast 转换, 去掉 const 限制
        qDebug("file(%s) fileno(%d) : str1(%s) str2(%s)", __FILE__, __LINE__, str1, str2);
    
        // 3. char * 转换为 QString
        char * str3 = const_cast<char *>("abc");
        QString str4 = QString::fromLatin1(str3);
        qDebug("file(%s) fileno(%d) : str3(%s) str4(%s)", __FILE__, __LINE__, str3, str4.toLatin1().data());
    
        // 4. QString 转换为 char *
        QString str5 = QString::fromLatin1("hello");
        char * str6 = str5.toLatin1().data();
        qDebug("file(%s) fileno(%d) : str5(%s) str6(%s)", __FILE__, __LINE__, str5.toLatin1().data(), str6);
    
        // 5. QByteArray 转换为 char *
        QByteArray str7("abc");
        char * str8 = str7.data();
        qDebug("file(%s) fileno(%d) : str7(%s) str8(%s)", __FILE__, __LINE__, str7.data(), str8);
    
        // 6. char * 转换为 QByteArray
        char * str9 = const_cast<char *>("abc");
        QByteArray str10(str9);
        qDebug("file(%s) fileno(%d) : str9(%s) str10(%s)", __FILE__, __LINE__, str9, str10.data());
    
        // 7. QString 转换为 QByteArray
        QString str11 = QString::fromLatin1("hello");
        QByteArray str12 = str11.toLatin1();
        qDebug("file(%s) fileno(%d) : str11(%s) str12(%s)", __FILE__, __LINE__, str11.toLatin1().data(), str12.data());
    
        // 8. QByteArray 转换为 QString
        QByteArray str13("abc");
        QString str14 = QString::fromLatin1(str13);
        qDebug("file(%s) fileno(%d) : str13(%s) str14(%s)", __FILE__, __LINE__, str13.data(), str14.toLatin1().data());
    }

    ============ End

  • 相关阅读:
    聊聊高并发(二十)解析java.util.concurrent各个组件(二) 12个原子变量相关类
    windows curl ssl版本号编译
    扩展MSEG 加入Z字段
    HDU 1565 1569 方格取数(最大点权独立集)
    Codeforces Round #277.5 (Div. 2)
    葡萄城公布新版ActiveReports 9报表控件和报表server
    we标签
    ADO.NET (二)—— ADO和ADO .NET对照
    补:小玩文件2--将文本文件里的全部行加上行号后写到新文件里
    poj3061 Subsequence ,尺取法
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/12313600.html
Copyright © 2011-2022 走看看