Http://blog.csdn.net/lihao_ningxia/archive/2008/09/24/2972676.aspx
Conversion between wchar_t and hbufc in Symbian
// Head file:
Const wchar_t * buftonewwchar (const tdesc & ainput );
Hbufc * wchartonewbuf (const wchar_t * ainput );
// CPP File
Wchar_t * wcsncpy (wchar_t * DST, const wchar_t * SRC, size_t count ){
Memcpy (DST, SRC, count * sizeof (wchar_t ));
Return DST;
}
Wchar * wstrdup (const wchar * s, size_t Len)
{
If (! S)
Return NULL;
Int L = (LEN = stringdup_nolen )? Wcslen (s): Len;
Wchar * news = new wchar [L + 1];
Wcsncpy (News, S, L );
News [l] = 0;
Return news;
}
Const wchar_t * buftonewwchar (const tdesc & ainput)
{
// This allocates a new wchar_t * Buffer
Wchar_t * ret = wstrdup (const wchar_t *) ainput. PTR (), ainput. Length ());
Return (const wchar_t *) ret;
}
Hbufc * wchartonewbuf (const wchar_t * ainput)
{
Int Len = wcslen (ainput );
Tuint16 * wchars = (tuint16 *) ainput;
Rbuf16 buf16;
Buf16.createl (LEN );
Buf16.copy (wchars );
Return buf16.alloc ();
}