Heim > Backend-Entwicklung > C++ > Wie konvertiere ich einen System::String in einen std::string in C .NET?

Wie konvertiere ich einen System::String in einen std::string in C .NET?

Barbara Streisand
Freigeben: 2024-11-03 00:57:30
Original
508 Leute haben es durchsucht

How do I convert a System::String to a std::string in C   .NET?

Konvertieren von System::String in std::string in C .NET

Konvertieren eines System::String in C .NET Ein std::string kann mithilfe der Marshalling-Funktion des Microsoft .NET Framework erreicht werden.

Um einen System::String in einen std::string zu konvertieren, können Sie die von msclr bereitgestellte Methode Marshal_as verwenden ::interop::marshal_context-Klasse. Diese Methode verwendet die verwaltete Zeichenfolge als Eingabe und gibt die entsprechende Standardzeichenfolge zurück.

Hier ist ein Beispiel für die Konvertierung eines System::String in einen std::string:

<code class="cpp">#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>
Nach dem Login kopieren

Dies Das Code-Snippet importiert die erforderlichen Header, deklariert eine verwaltete Zeichenfolge und konvertiert dann die verwaltete Zeichenfolge mithilfe der Methode „marshal_as“ in eine Standardzeichenfolge.

Es ist wichtig zu beachten, dass der Namespace „msclr::interop“ nur in „Recent“ verfügbar ist Versionen von .NET. Wenn Sie eine ältere Version verwenden, können Sie stattdessen die Methode msclr::interop::marshal_as_string verwenden.

Weitere Informationen zum Konvertieren verschiedener anderer Typen zwischen verwaltetem und nicht verwaltetem Code finden Sie im folgenden MSDN-Artikel: https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-api/interop/marshaling-data-with-platform-invoke

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen System::String in einen std::string in C .NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage