★初心者にVisual C++を教えるスレ★ Part28
■ このスレッドは過去ログ倉庫に格納されています
0145デフォルトの名無しさん
2007/12/10(月) 22:37:08Visual 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を使う。
■ このスレッドは過去ログ倉庫に格納されています