C++ CLI System.String ^到MFC LPCTSTR

Lan*_*ens 9 c++ string mfc c++-cli lpcstr

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

很容易LPCTSTR进入String^,但到目前为止没有发现任何相反的做法.

Amy*_*dja 13

如果您使用的是Visual Studio 2008或更高版本,则可以使用C++/CLI封送库执行此操作,如下所示:

#include <msclr\marshal.h>

using namespace System;
using namespace msclr::interop;

...

String^ cliString;
marshal_context context;

LPCTSTR cstr = context.marshal_as<const TCHAR*>(cliString);
Run Code Online (Sandbox Code Playgroud)

有关MSDN上类型之间编组的更多信息:C++中的编组概述