CLR 与 C++的常用类型转换笔记
1. System::String 轉換到 const wchar_t*
const wchar_t* ToUnmanagedUnicode( System::String^ str )
{
pin_ptr<const WCHAR> nativeString1 = PtrToStringChars( str );
return (const wchar_t*)nativeString1;
}
2. const wchar_t* / const char* 轉換到 System::String
const wchar_t* p= L"hello";
System::String( p ).ToString();
?
3. C++數值類型轉CLR數值類型
int a;
System::Int32 b = System::Int32( a );
4. HWND 轉為IWin32Window
public ref class WindowWrapper : System::Windows::Forms::IWin32Window
{
public: WindowWrapper(IntPtr handle)
{
_hwnd = handle;
}
public:
property IntPtr Handle
{
virtual IntPtr get(void){return _hwnd;};
};
private: IntPtr _hwnd;
};
HWND nativehwnd;
IWin32Window^ w = gcnew Managed::WindowWrapper( System::IntPtr( nativehwnd ) );
轉載于:https://www.cnblogs.com/carl2380/archive/2012/09/26/2703580.html
總結
以上是生活随笔為你收集整理的CLR 与 C++的常用类型转换笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】/usr/bin/python^M
- 下一篇: C++类分号(;)问题