Visual C++ .NET 中 System::String^ 和 char * 互转
发布日期:2021-06-28 21:10:48
浏览次数:2
分类:技术文章
本文共 1306 字,大约阅读时间需要 4 分钟。
原文链接:
使用 Visual C++ .NET 中的托管扩展从 System::String^ 转换为 char* 的若干方法。
方法 1
StringToHGlobalAnsi 将托管 String 对象的内容复制到本机堆,然后动态地将它转换为美国国家标准学会 (ANSI) 格式。此方法将分配所需的本机堆内存:
//using namespace System::Runtime::InteropServices;char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str);printf(str2);Marshal::FreeHGlobal( IntPtr(str2) );
方法2
VC7 CString 类有一个构造函数,它带有一个托管 String 指针并将其内容加载到 CString 中:
//#includeSystem::String ^ str = "Hello world\n";CString str3( str ); printf(str3);
--------------------------------------- char * 转 String^ ------------------------
const char * p = "你妹的";String ^ MyStr = Marshal::PtrToStringAnsi((IntPtr)(char *)p);Console::WriteLine(MyStr);
完整代码示例
//compiler option:cl /clr #include#include #include #using using namespace System;using namespace System::Runtime::InteropServices;int _tmain(void){ System::String ^str = "Hello world\n"; //method 1 char* str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(str); printf(str2); Marshal::FreeHGlobal( IntPtr(str2) );
//method 2 CString str3(str); printf(str3);
return 0;}const char * p = "你妹的"; String ^ MyStr = Marshal::PtrToStringAnsi((IntPtr)(char *)p); Console::WriteLine(MyStr);
转载地址:https://blog.csdn.net/yangyangsnr/article/details/41642339 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月15日 18时41分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
androidapk瘦身,啃下这些Framework技术笔记,手慢无
2019-04-29
Android中为什么需要Handler?大厂直通车!
2019-04-29
Android中为什么需要Handler?架构师必备技能
2019-04-29
Android中高级面试必知必会,积累总结
2019-04-29
Activity的6大难点,你会几个?跳槽薪资翻倍
2019-04-29
Android-App的设计架构经验谈,系列篇
2019-04-29
Android-Camera内存问题剖析,安卓系列学习进阶视频
2019-04-29
Android-Camera内存问题剖析,小白也能看明白
2019-04-29
Android事件分发机制及设计思路,先收藏了
2019-04-29
Android事件分发机制收藏这一篇就够了,不吃透都对不起自己
2019-04-29
Android内存泄漏总结,offer拿到手软
2019-04-29
Android内存泄漏总结,成功拿下大厂offer
2019-04-29
Android初级开发是如何一步步成为高级开发?源码+原理+手写框架
2019-04-29
最新BAT大厂面试者整理的Android面试题目模板,看看这篇文章吧!
2019-04-29
最详细的docker中安装并配置redis,好文推荐
2019-04-29
月薪20k+的Android面试都问些什么?3面直接拿到offer
2019-04-29
月薪20k+的Android面试都问些什么?深夜思考
2019-04-29
月薪20k+的Android面试都问些什么?绝对干货
2019-04-29
有了这些中高端面试专题-大厂还会远吗?工作感悟
2019-04-29
有了这些中高端面试专题-大厂还会远吗?我先收藏为敬
2019-04-29