C++ Symbian字符打印

C++ Symbian字符打印,c++,symbian,char,descriptor,C++,Symbian,Char,Descriptor,我试图构造一个非常简单的概念证明,即我可以编写一个web服务,并从symbian环境中实际调用该服务。该服务是一个简单的Hello服务,它采用const char*形式的名称,并返回char*形式的问候语“Hello”+name。我的问题是,如何将char*转换为TPtrC16,以便使用console->Write函数将响应打印到屏幕?我知道我可以在API中搜索并找出答案,但对于一个基本的概念演示,我不想花时间(不确定塞班是否会再次使用) 谢谢 如果const char*字符串是US-ASCII

我试图构造一个非常简单的概念证明,即我可以编写一个web服务,并从symbian环境中实际调用该服务。该服务是一个简单的Hello服务,它采用const char*形式的名称,并返回char*形式的问候语“Hello”+name。我的问题是,如何将char*转换为TPtrC16,以便使用console->Write函数将响应打印到屏幕?我知道我可以在API中搜索并找出答案,但对于一个基本的概念演示,我不想花时间(不确定塞班是否会再次使用)


谢谢

如果
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);
const char*who=“world”;
TBuf buf;
副本(TPtrC8((TText8*)who));
console->Printf(_L(“hello%S\n”),&buf);

如果是其他编码,请查看SDK帮助中的
charconv
API。

为了使其正常工作,我必须处理一些事情。最后,代码如下所示:char who=“world”;TUint8*i((未签名字符)who);TBuf buf;基本副本(TPtrC8(i));console->Printf(_L(“hello%S\n”),&buf);我可能可以重构其中的一些,使它更漂亮,但它现在可以工作了。谢谢你的帮助!