首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFC System.String^到MFC

MFC System.String^到MFC
EN

Stack Overflow用户
提问于 2012-03-20 15:13:28
回答 2查看 12.1K关注 0票数 10

如何将系统(.net) C++\CLI String^转换为MFC C++ LPCTSTR字符串。

LPCTSTR放入String^非常容易,但到目前为止还没有找到相反的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 15:54:57

如果您有Visual Studio 2008或更高版本,您应该能够使用C++/CLI封送处理库来完成此操作,如下所示:

代码语言:javascript
复制
#include <msclr\marshal.h>

using namespace System;
using namespace msclr::interop;

...

String^ cliString;
marshal_context context;

LPCTSTR cstr = context.marshal_as<const TCHAR*>(cliString);

有关在MSDN上的类型之间进行封送处理的更多信息:Overview of Marshaling in C++

票数 16
EN

Stack Overflow用户

发布于 2012-03-20 15:32:05

您可能想尝试Marshal::StringToHGlobalUniMarshal::StringToHGlobalAutoMarshal::StringToHGlobalAnsi

请记住,分配的非托管字符串需要使用Marshal::FreeHGlobal释放。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9782669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档