Maison  >  Article  >  développement back-end  >  Comment convertir System :: String en std :: string en C .NET ?

Comment convertir System :: String en std :: string en C .NET ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 06:29:02177parcourir

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

Conversion de System::String en std::string en C .NET

La conversion entre System::String et std::string est nécessaire lors de l’intégration de code managé et non managé dans des applications C .NET. Pour réaliser cette conversion, vous pouvez utiliser les fonctionnalités fournies par la bibliothèque de classes .NET Framework. Une approche efficace consiste à utiliser la classe msclr::interop::marshal_context, introduite dans les versions récentes de .NET. Voici comment cela fonctionne :

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

Cette méthode utilise un contexte de marshaling pour faciliter la conversion. Le contexte de marshaling gère le transfert de données entre les espaces mémoire gérés et non gérés, garantissant la sécurité et l'efficacité des types. Il fournit un moyen simple et maintenable d'effectuer une conversion de données entre ces deux types de chaînes différents.

Pour plus d'informations sur la conversion de données entre le code managé et non managé, reportez-vous à l'article Microsoft Developer Network (MSDN) ici .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn