Programming C# C++ (7) Delphi (617) Java (8) JavaScript (31) perl (9) php (4) VBScript (1) Visual Basic (1) ![]() |
Copying a string into an array of char in managed code
![]() ![]() Question: I've got an array of char in a managed class as declared below and need to initialize it with strcpy(). (I'm porting old code.) I get the following error message:error C2664: 'strcpy' : cannot convert parameter 1 from 'char [255]' to 'char *' Answer: The array data is physically part of a __gc object, and thus the corresponding pointer type is an interior __gc pointer. To pass it to strcpy, you'll have to convert it to a pinning pointer using the __pin keyword - as shown in the code below.You can reuse that pinning pointer for other arrays of char without casing a memory leak. In addition, you can unpin an object by assigning NULL to the pinning pointer.
Comments:
|