« Guide du C++ pour .NET Programmation » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
|||
Ligne 59 :
...
Marshal::FreeHGlobal(IntPtr((void*)temp));
</pre>
De la même façon que précédemment, on pourra créer des macros:
<pre>
// creation
#define CONVERT2CHAR(x) (char*)(Marshal::StringToHGlobalAnsi(x).ToPointer())
// libération
#define FREECHAR(x) Marshal::FreeHGlobal(IntPtr((void*) x ));
</pre>
et les utiliser ainsi:
<pre>
using namespace System::Runtime::InterropServices;
String* ch_1;
// allocation en mémoire
char* ch_2 = CONVERT2CHAR(ch_1);
...
// désallocation
FREECHAR(ch_2);
</pre>
|