我正在尝试构建一个非常简单的概念证明,我可以编写Web服务并实际从symbian环境调用该服务。该服务是一个简单的Hello服务,它以const char *的形式获取名称,并以char *的形式返回“hello”+ name形式的问候语。我的问题是,如何将char *转换为TPtrC16,以便我可以使用console-> Write函数打印出对屏幕的响应?我知道我可以搜索API并想出来,但是对于基本的概念演示,我宁愿不花时间(不确定Symbian是否会再次与我合作)。
谢谢!
答案 0 :(得分:2)
如果const char*
字符串是US-ASCII,您可以使用TDes::Copy
将TPtrC8
中包含的字符串复制到16位描述符中:
const char *who = "world";
TBuf<128> buf;
buf.Copy(TPtrC8((TText8*)who));
console->Printf(_L("hello %S\n"), &buf);
如果是其他编码,请查看SDK帮助中的charconv
API。