【问题标题】:C++/CX - I need to instantiate a Platform::String from a const char*C++/CX - 我需要从 const char* 实例化 Platform::String
【发布时间】:2012-11-12 15:50:27
【问题描述】:

我正在尝试从返回 const char* 的方法的结果构造一个 Platform::String

我根本无法让它工作,并且多年来一直在摸不着头脑。

我不是一个非常有经验的 c++ 开发人员,所以答案可能很明显,但我似乎无法解决。

感谢您的帮助。

【问题讨论】:

    标签: c++ windows-8 windows-runtime c++-cx


    【解决方案1】:

    Platform::String 在内部使用char16,并在其构造函数中使用char16*。您需要使用MultiByteToWideCharchar* 文本转换为char16* 文本。 This question 谈到从Platform::Stringchar*,从char*Platform::String 应该遵循相反的路径。

    【讨论】:

      【解决方案2】:

      您可以使用 mbstowcs http://www.cplusplus.com/reference/cstdlib/mbstowcs/ 填充 wchar_t 缓冲区,然后将其传递给 Platform::String 构造函数以使用所需数据创建实例。

      static wchar_t buffer[ MAX_BUFFER ];
      mbstowcs( buffer, source, MAX_BUFFER );
      platformString = ref new Platform::String( buffer );
      

      【讨论】:

        猜你喜欢
        • 2012-11-11
        • 2016-01-04
        • 2015-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        相关资源
        最近更新 更多