Я загружаю текстовую строку из веб-службы в 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);
изменить для ясности ..
Моя функция преобразования выглядит следующим образом ..
void CMyApp :: DownloadCompleteL () {
{
RBuf16 buf;
buf.CreateL (iTextBuffer.Length ());
buf.Copy (iTextBuffer);
RDebug::Printf("downloaded text %S", buf);
iTextBuffer.SetLength(0);
iTextBuffer.ReAlloc(0);
}
Но это все равно вызывает сбой. Я использую S60 3rd Edition FP2 v1.1