Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос скорее по С# чем С++

1.2K
22 мая 2005 года
BigBug
93 / / 30.07.2004
Проэкт на С# исспользует DLL одна из функций которого
возвращает обыкновенный [COLOR=blue]char[/COLOR]* тоесть текстовую строку.
Подскажите пожалуста как привести указатель на строку к типу [COLOR=blue]string[/COLOR].
319
22 мая 2005 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by BigBug
Проэкт на С# исспользует DLL одна из функций которого
возвращает обыкновенный [COLOR=blue]char[/COLOR]* тоесть текстовую строку.
Подскажите пожалуста как привести указатель на строку к типу [COLOR=blue]string[/COLOR].


по идее проблем быть не должно, т.к. в С# все типы, кроме числовых размещаются в куче (referenced types).

если не получится напрямую, попробуй через маршаллинг, типа такого:

Код:
using namespace System::Runtime::InteropServices;

class StringConverter
{
private:
void* m_psz;

public:

StringConverter(String* s)
{
#ifdef UNICODE
m_psz = Marshal::StringToHGlobalUni(s).ToPointer();
#else
m_psz = Marshal::StringToHGlobalAnsi(s).ToPointer();
#endif
}

~StringConverter()
{
Marshal::FreeHGlobal(m_psz);
}

operator LPCTSTR() { return (LPCTSTR)m_psz; }
};

код на managed c++
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог