|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2006
Messaggi: 90
|
[C++] Conversione di managed string in array di char
Ciao a tutti,
Sto cercando un modo semplice per convertire stringhe "managed" in array di caratteri in Visual C++ 2005 Express Edition (Windows Forms application). Qualche idea?
__________________
A day without laughter is a day wasted ![]() |
![]() |
![]() |
![]() |
#2 |
Registered User
Iscritto dal: Feb 2008
Messaggi: 77
|
Se vuoi un array Managed basta fare "stringa".ToCharArray();
Se invece vuoi un reale puntatore è un pò più incasinato... Purtroppo non ho mail lavorato col C++ Managed, ma la funzione Marshal.StringToHGlobal???() dovrebbe funzionare come in C#... Questo è un esempio in C#: Codice:
IntPtr ptrANSI = IntPtr.Zero; IntPtr ptrUnicode = IntPtr.Zero; try { // Il char* del C++ char* pippo = (char*)(ptrANSI = Marshal.StringToHGlobalAnsi("pippo ANSI")); // Il wchar_t* del C++ char* pluto = (char*)(ptrUnicode = Marshal.StringToHGlobalUni("pluto UNICODE")); // usa pippo & pluto } catch { } finally { if(ptrANSI != IntPtr.Zero) Marshal.FreeHGlobal(ptrANSI); if(ptrUnicode != IntPtr.Zero) Marshal.FreeHGlobal(ptrUnicode); } Ciao ![]() Ultima modifica di kernel::panic : 16-03-2008 alle 20:02. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2006
Messaggi: 90
|
Grazie...
__________________
A day without laughter is a day wasted ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:09.