QString 和 HBufC 的转换

QString 和 HBufC 的转换
qt for s60里提供了  QString 和 HBufC的转换函数的 在这个头文件里定义 #include <qcore_symbian_p.h> 源代码只有几行: Q_CORE_EXPORT HBufC* qt_QString2HBufC(const QString& aString) { HBufC *buffer; #ifdef QT_NO_UNICODE TPtrC8 ptr(reinterpret_cast<const TUint8*>(aString.toLocal8Bit().constData())); #else TPtrC16 ptr(qt_QString2TPtrC(aString)); #endif buffer = q_check_ptr(HBufC::New(ptr.Length())); buffer->Des().Copy(ptr); return buffer; } Q_CORE_EXPORT QString qt_TDesC2QString(const TDesC& aDescriptor) { #ifdef QT_NO_UNICODE return QString::fromLocal8Bit(aDescriptor.Ptr(), aDescriptor.Length()); #else return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length()); #endif } 在这个文件里还有不少很有用的函数,比如: qt_s60_getRFs(),rect size等类型的转换函数 有很多文件操作还是只能通过 Symbian API才能实现的比如 ,获取和修改driver的卷标,RFs是很有用的

你可能感兴趣的:(QString 和 HBufC 的转换)