Если у вас 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);
Дополнительная информация о маршалинге между типами в MSDN: Обзор маршалинга в C ++