-2

本文中提到了 System::String 和 const char* 之间的转换。

我的问题是:是否可以使用这种构造(marshal_context)从 System::String 转换为 char*(注意缺少 const)?

如果不是这个问题的推荐解决方案是什么?

我是否被迫使用较旧的 Marshal::StringToHGlobalAnsi?

评论中还有其他问题。

4

1 回答 1

1

您可以使用 Strings 提供的方法来获取底层的 c 样式字符串c_str()。它是const,但您可以将其复制到您自己的变量char*中。

只需分配一个足够大的缓冲区,就像使用malloc,然后strncpy进入它。有一百种不同的方法可以做到这一点,但归根结底是保留内存,复制字符串,玩得开心。

于 2013-02-05T01:31:33.387 回答