2009-08-27 37 views
1

我试图建构概念的一个非常简单的证明,我可以写一个Web服务,实际上从Symbian的环境中调用该服务。该服务是一个简单的Hello服务,它以const char *的形式接受名称,并以char *形式返回形式为“hello”+名称的问候语。我的问题是,如何将char *转换为TPtrC16,以便我可以使用控制台 - > Write函数将响应打印出来?我知道我可以通过API进行搜索并计算出来,但对于基本的概念演示,我宁愿不花时间(不确定Symbian是否再次与我合作)。Symbian的字符打印

谢谢!

回答

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。

+0

有几件事情我不得不为了得到这个工作乱动。最终的代码如下所示: \t \t字符*谁=“世界”; \t \t TUint8 * I((无符号字符*)谁); \t \t的TBuf <128> BUF; \t \t buf.Copy(TPtrC8(I)); \t \t console-> printf(_L(“hello%s \ n”),&buf); 我可能可以重构一些使它更漂亮,但它现在工作。 – 2009-08-27 17:05:03