【问题标题】:Symbian character printingSymbian 字符打印
【发布时间】:2009-08-27 15:22:45
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: c++ symbian char descriptor


    【解决方案1】:

    如果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。

    【讨论】:

    • 为了让它发挥作用,我不得不摆弄一些事情。最后代码如下所示: char who = "world"; TUint8 *i((unsigned char)who); TBuf 缓冲区; buf.Copy(TPtrC8(i));控制台->Printf(_L("你好 %S\n"), &buf);我可能可以重构其中的一些以使其更漂亮,但它现在可以工作。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多