|
|||||||
|
|
|
![]() |
|
|
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 21: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: 02:20.



















