- 145 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:37:08 ]
- >>140
Visual C++ 2008なら、msclr::interop::marshal_as<std::string>が一番楽だろう。 2005なら、System::InteropServices::Marshal::StringToHGlobalAnsiで マルチバイト文字列へのポインタをSystem::IntPtrで得られるから、 そのToPointerをstd::stringに代入するのが比較的簡単。 ポインタはMarshal::FreeHGlobalで解放すること。 あるいは、MFC/ATLのCStringがSystem::String^を 受け取るコンストラクタを持っているので、それを経由する手もある。 ただし、std::stringにしたいのだから、それにあわせてCStringAを使う。
|

|