wstring to string
От: uni Россия  
Дата: 11.04.14 16:23
Оценка:
Доброго. Мне нужно преобразовать String^ в string. Делаю это так:

wstring wstr;
string str;

// String^ -> const wchar_t *.
pin_ptr< const wchar_t > ptr = PtrToStringChars( gcstr );

// const wchar_t * -> wstring.
wstr = ptr;

// wstring -> string
str.assign( wstr.begin(), wstr.end() );


Но это неправильный метод, т.к. str.assign() для не ansi символов вернёт белиберду. На so извращаются по-разному и мне хотелось бы узнать, а нет ли какого уже устоявшегося варианта преобразования wstring в string для C++/CLI? Меня интересует более менее короткий вариант преобразования из двухбайтового в однобайтовое представление. Если можно, не сильно углубляясь в WinAPI, а какими-нибудь библиотечными функциями. Пишут про использование marshal_as, но я не могу эту обёртку использовать, т.к. вылезает куча конфликтов имён C++ и .Net при подключении необходимых заголовочников.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.