C++ CLI и STL: конвертирование типов

Тема в разделе "LANGS.C", создана пользователем _DEN_, 2 фев 2009.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Существует ли в природе хорошее решение для конвертирования дотнетовских типов в стл-ные и обратно? Ну например System::String <-> std::string / std::wstring, cli::array <-> std::vector / std::list и т.д. Очень не хочется изобретать велосипеды.
     
  2. int2e

    int2e New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2009
    Сообщения:
    169
    Тоже интересует
    Если найдешь решение - отпишись плз
     
  3. Johnikum

    Johnikum Member

    Публикаций:
    0
    Регистрация:
    6 июн 2003
    Сообщения:
    97
    Код (Text):
    1. // Конвертация std::string в System::String^
    2. static System::String^ StdToSys(std::string StdStr){
    3.     return gcnew System::String(StdStr.c_str());       
    4. }
    Код (Text):
    1. // Конвертация System::String^ в std::string
    2. //ЗЫ тут исчо #include <iostream> надо
    3. static const std::string SysToStd(System::String^ SysStr){
    4.     using namespace Runtime::InteropServices;      
    5.     return (const char*)(Marshal::StringToHGlobalAnsi(SysStr)).ToPointer();
    6. }