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是很有用的