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