다음을 통해 공유


방법: char * 문자열을 System::Byte 배열로 변환

문자열을 배열로 변환 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();
}
Native String

참고 항목

C++ Interop 사용(암시적 PInvoke)