将 String^ 转换为 const char* [与 c++]
我有一个 String^
1,我需要将其转换为 const char*
并且 c_str() 不起作用,因为它不是 System::String 的成员。除了 this< 之外,还有更简单的方法吗/a> 方法?我只执行一次,并且它来自 openFileDialog->Filename
,因此输入不会很复杂。我使用的是 Visual Studio 2008。
谢谢
I have a String^
1 and I need to convert it to const char*
and c_str() does not work as it is not a member of System::String. Is there a simpler way to do this other than this method? I am only doing this once and it is from an openFileDialog->Filename
, so the input will not be anything complex. I am using Visual Studio 2008.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将 String^ 转换为普通 char* 字符串的最简单方法是仅使用您链接到的代码的一部分。重要的部分是:
完成此操作后,您可以使用 wch 变量来访问您的角色,但是此代码有一些警告。
我建议将该字符串保存在 STL 字符串(或 wstring)类中,或者至少将内容复制到单独管理的缓冲区中 - 就像示例所做的那样。
在工作中,我们使用一些重载函数来执行从一种字符串类型到另一种字符串类型的转换,所有函数都使用相同的名称。从 .Net 字符串转换为 STL 字符串的方法非常简单:
The simplest way to convert a String^ to a plain char* string is to use just a bit of the code that you have linked to. The important part is:
Once this is done you can use wch variable to access your characters, but there are a few warnings with this code.
I would recommend saving that string in either a STL string (or wstring) class or at the very least copying the contents to a separately managed buffer - like the example is doing.
At work we use some overloaded functions which do conversions from one string type to another, all using the same name. The one that converts from a .Net string to a STL string is pretty much:
我认为这个页面可能对您有帮助。
希望有帮助
I think this page may help you.
Hope that helps