CLR 与 C++的常用类型转换笔记

  1. System::String 转换到 const wchar_t*

1: const wchar_t* ToUnmanagedUnicode( System::String^ str )
2: {
3: pin_ptr nativeString1 = PtrToStringChars( str );
4: return (const wchar_t*)nativeString1;
5: }

2.  const wchar_t* / const char* 转换到 System::String

1: const wchar_t* p= L"hello";
2:  
3: System::String( p ).ToString();

3.  C++数值类型转CLR数值类型

1: int a;
2:  
3: System::Int32 b = System::Int32( a );

  1. HWND 转为IWin32Window

    1: public ref class WindowWrapper : System::Windows::Forms::IWin32Window
    2: {
    3: public: WindowWrapper(IntPtr handle)
    4: {
    5: _hwnd = handle;
    6: }
    7:  
    8: public:
    9: property IntPtr Handle
    10: {
    11: virtual IntPtr get(void){return _hwnd;};
    12: };
    13:  
    14: private: IntPtr _hwnd;
    15: };
    16:  
    17: HWND nativehwnd;
    18: IWin32Window^ w = gcnew Managed::WindowWrapper( System::IntPtr( nativehwnd ) );
    ————————————————
    版权声明:本文为CSDN博主「sunicdavy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/sunicdavy/article/details/5367307

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值