Do I need a pin_ptr to pass a literal string?

279 views Asked by At

From a managed c++ function I want to invoke an unmanaged function that expects a 'const char *' as an argument.

Are a) and b) below correct? For b), do I need to pin_ptr 'hello'? What about a)? Thanks.

a) myFunction( "hello" );

b)

char hello[10] ;
strcpy( hello, "hello" );
myFunction( hello );
1

There are 1 answers

2
Nikolai Fetissov On BEST ANSWER

Both are fine. You don't need an extra strcpy in b) though, just do:

char hello[] = "hello";
myFunction( hello );

which now becomes pretty much the same as a).