将 char * 字符串转换为 Byte 数组的最有效方法是使用 Marshal 类。
// convert_native_string_to_Byte_array.cpp // compile with: /clr #include <string.h> using namespace System; using namespace System::Runtime::InteropServices; int main() { char buf[] = "Native String"; int len = strlen(buf); array< Byte >^ byteArray = gcnew array< Byte >(len + 2); // convert native pointer to System::IntPtr with C-Style cast Marshal::Copy((IntPtr)buf,byteArray, 0, len); for ( int i = byteArray->GetLowerBound(0); i <= byteArray->GetUpperBound(0); i++ ) { char dc = *(Byte^) byteArray->GetValue(i); Console::Write((Char)dc); } Console::WriteLine(); }