• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインタ・ハンドル間のコピーと表示方法について VC++)

ポインタ・ハンドル間のコピーと表示方法について VC++

このQ&Aのポイント
  • ポインタ・ハンドル間のコピーと表示方法について VC++でわからないこと
  • ポインタとハンドル間のコピーと表示する方法を知りたい
  • VC++2005を使用している人に教えてほしいポインタ・ハンドル間のコピーと表示方法

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

#include <algorithm> #include <iostream> #include <cstring> using namespace System; using namespace System::Runtime::InteropServices; namespace test { class Class1 { char msg[1024]; public: Class1(String^ _msg){ void* ptr = Marshal::StringToHGlobalAnsi(_msg).ToPointer(); std::strcpy(msg, static_cast<char*>(ptr)); Marshal::FreeHGlobal(IntPtr(ptr)); std::cout << '[' << msg << ']' << std::endl; } }; ref class Class2 { String ^msg; public: Class2(char *_msg){ msg = gcnew String(_msg); Console::WriteLine(L"[{0}]", msg); } }; } int main() { test::Class1* c1 = new test::Class1("test1"); delete c1; test::Class2^ c2 = gcnew test::Class2("test2"); return 0; } ※ 解説はご勘弁。マニュアルを読んでください。

binma
質問者

お礼

すごいです。 ありがとうございます。

関連するQ&A