http://www.developer.com/net/cplus/article.php/3380651/Converting-Between-MFCC-and-NET-Types.htm
Welcome to this week's installment of .NET Tips & Techniques! Each week, award-winning Architect and Lead Programmer Tom Archer from the Archer Consulting Group demonstrates how to perform a practical .NET programming task using either C# or Managed C++ Extensions. The founder of the Archer Consulting Group (ACG), Tom Archer has been the project lead on three award-winning applications and is a best-selling author of 10 programming books as well as countless magazine and online articles.
Converting Between MFC/C++ and .NET Types
July 19, 2004
Converting CString objects to .NET Byte array
CString str = _T("CString to be converted to a byte array");
Byte barr[] = new Byte[str.GetLength()];
for(int i = 0; i < str.GetLength(); i++)
barr[i] = static_cast<Byte>(str [i]);
Converting String objects to C++ char array
#include <vcclr.h> // Needed for the PtrToStringChars function
//...
String* s = S"String to be converted to a char array";
const __wchar_t __pin * str = PtrToStringChars(s);
Converting String objects to .NET Byte array
String* str = S"String to be converted to a byte array";
Byte barr[] = new Byte[str->Length];
for(int i=0; i<str->Length; i++)
barr[i] = static_cast<Byte>(str->ToCharArray()[i]);
Converting Int32 objects to managed char array
Int32 myInt = 42;
unsigned char myArray __gc[] = BitConverter::GetBytes(myInt);
Got More?
This is by no means meant to be a complete composition of all conversions between MFC/C++ and .NET. However, it will handle the majority of the cases you face. If you would like to add a conversion, just
drop me a line. If I add it to the article, I'll, of course, give you credit for the input.
About the Author