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("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 (str2); // 使用 const_cast 转换, 去掉 const 限制 qDebug("file(%s) fileno(%d) : str1(%s) str2(%s)", __FILE__, __LINE__, str1, str2); // 3. char * 转换为 QString char * str3 = const_cast ("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 ("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