C .NET での System::String から std::string への変換
System::String と std::string 間の変換は次のとおりです。 C .NET アプリケーションにマネージ コードとアンマネージ コードを統合するときに必要です。この変換を実現するには、.NET Framework クラス ライブラリによって提供される機能を利用できます。効果的なアプローチの 1 つは、.NET の最新バージョンで導入された msclr::interop::marshal_context クラスを使用することです。その仕組みは次のとおりです。
<code class="cpp">#include "stdafx.h" #include <string> #include <msclr\marshal_cppstd.h> using namespace System; int main(array<System::String ^> ^args) { System::String^ managedString = "test"; msclr::interop::marshal_context context; std::string standardString = context.marshal_as<std::string>(managedString); return 0; }</code>
このメソッドは、マーシャリング コンテキストを利用して変換を容易にします。マーシャリング コンテキストは、マネージド メモリ空間とアンマネージド メモリ空間間のデータ転送を管理し、型の安全性と効率性を確保します。これは、これら 2 つの異なる文字列型の間でデータ変換を実行するためのシンプルで保守可能な方法を提供します。
マネージ コードとアンマネージ コード間のデータ変換の詳細については、Microsoft Developer Network (MSDN) の記事を参照してください。 .
以上がC .NET で System::String を std::string に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。