Code/C C++
[C++/CLI] Marshalling : System::String^ <-> const char*
Hide Code
2010. 5. 17. 16:33
#include <stdio.h>
#include <msclr/marshal.h>
using namespace System;
using namespace msclr::interop;
int main(array<System::String ^> ^args)
{
{
// System::String^ to const char*
marshal_context^ context = gcnew marshal_context();
String^ message = gcnew String("System::String^ to const char*");
const char* result = context->marshal_as<const char*>(message);
puts(result);
delete context;
}
{
// const char* to System::String^
const char* message = "const char* to System::String^";
String^ result = marshal_as<String^>(message);
Console::WriteLine(result);
}
return 0;
}
#include <msclr/marshal.h>
using namespace System;
using namespace msclr::interop;
int main(array<System::String ^> ^args)
{
{
// System::String^ to const char*
marshal_context^ context = gcnew marshal_context();
String^ message = gcnew String("System::String^ to const char*");
const char* result = context->marshal_as<const char*>(message);
puts(result);
delete context;
}
{
// const char* to System::String^
const char* message = "const char* to System::String^";
String^ result = marshal_as<String^>(message);
Console::WriteLine(result);
}
return 0;
}