在this文章中提到了System :: String和const char *之间的转换。
我的问题是:是否可以使用此结构(marshal_context)从System :: String转换为char *(注意缺少const)?
如果不是这个问题的推荐解决方案是什么?
我是否被迫使用较旧的Marshal :: StringToHGlobalAnsi?
评论中还有其他问题。
答案 0 :(得分:1)
您可以使用c_str()
获取基础c样式字符串,这是Strings提供的方法。它是const
,但您可以将其复制到您自己的变量char*
中。
只需分配一个足够大的缓冲区,就像使用malloc
一样,然后再分配strncpy
。有一百种不同的方法可以做到这一点,但这一切都归结为保留记忆,复制字符串,玩得开心。