ホームページ  >  記事  >  バックエンド開発  >  C .NET で System::String を std::string に変換するにはどうすればよいですか?

C .NET で System::String を std::string に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 06:29:02176ブラウズ

How to Convert System::String to std::string in C   .NET?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。