我正在使用这种代码将 Web 服务中的文本字符串下载到 RBuf8 中(它有效..)
void CMyApp::BodyReceivedL( const TDesC8& data ) {
int newLength = iTextBuffer.Length() + data.Length();
if (iTextBuffer.MaxLength() < newLength)
{
iTextBuffer.ReAllocL(newLength);
}
iTextBuffer.Append(data);
}
然后我想将 RBuf8 转换为 char* 字符串,我可以在标签或其他任何内容中显示.. 或者出于调试目的,显示在
RDebug::Printf("downloading text %S", charstring);
为清楚起见进行编辑..
我的转换函数看起来像这样..
无效 CMyApp::DownloadCompleteL() { { RBuf16 buf; buf.CreateL(iTextBuffer.Length()); buf.Copy(iTextBuffer);
RDebug::Printf("downloaded text %S", buf);
iTextBuffer.SetLength(0);
iTextBuffer.ReAlloc(0);
}
但这仍然会导致崩溃。我正在使用 S60 第三版 FP2 v1.1