Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiert man System::String in std::string in C .NET?

Wie konvertiert man System::String in std::string in C .NET?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 06:29:02177Durchsuche

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

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

Konvertieren zwischen System::String und std::string ist Dies ist bei der Integration von verwaltetem und nicht verwaltetem Code in C.NET-Anwendungen erforderlich. Um diese Konvertierung zu erreichen, können Sie die von der .NET Framework-Klassenbibliothek bereitgestellten Funktionen nutzen. Ein effektiver Ansatz ist die Verwendung der Klasse msclr::interop::marshal_context, die in neueren Versionen von .NET eingeführt wurde. So funktioniert es:

<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>

Diese Methode nutzt einen Marshalling-Kontext, um die Konvertierung zu erleichtern. Der Marshalling-Kontext verwaltet die Datenübertragung zwischen verwalteten und nicht verwalteten Speicherbereichen und gewährleistet so Typsicherheit und Effizienz. Es bietet eine einfache und wartbare Möglichkeit, die Datenkonvertierung zwischen diesen beiden verschiedenen Zeichenfolgentypen durchzuführen.

Weitere Informationen zur Datenkonvertierung zwischen verwaltetem und nicht verwaltetem Code finden Sie hier im Artikel des Microsoft Developer Network (MSDN). .

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

Stellungnahme:
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