Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Перевод System::String ^ в массив типа char

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 14.03.2013, 15:29   #1
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Перевод System::String ^ в массив типа char

вообщем то сабж как это организовать...

уже пытался но пишет
невозможно преобразовать "wchar_t" в "char [13]"
1> Не существует преобразований в типы массивов, хотя существуют преобразования в ссылки или указатели на массивы


кодинг попытки
PHP код:
Struct.Login Convert::ToChar(textBox1->Text); 
  Ответить с цитированием
Старый 15.03.2013, 21:00   #2
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Перевод System::String ^ в массив типа char

больше не надо сам разобрался
  Ответить с цитированием
Старый 17.03.2013, 08:41   #3
 Старший сержант
Аватар для крайслер
 
крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(крайслер сломал счётчик популярности :(
Регистрация: 04.02.2011
Сообщений: 198
Популярность: 12244
Сказал(а) спасибо: 453
Поблагодарили 435 раз(а) в 242 сообщениях
Отправить сообщение для крайслер с помощью Skype™
 
По умолчанию Re: Перевод System::String ^ в массив типа char

Цитата:
Сообщение от артём612Посмотреть сообщение
больше не надо сам разобрался

ну раз разобрался, то покажи реализацию... возможно кому-то понадобится подобное...


вот один из вариантов:
Код:
private: Void _ToCharM(char* pcOut, int nOutLen, String^ sIn)
{
    try
    {
		array<Byte>^ bytes = System::Text::Encoding::Default->GetBytes(sIn);
		nOutLen = Math::Min(nOutLen - 1, bytes->Length);
		System::Runtime::InteropServices::Marshal::Copy(bytes, 0, IntPtr(pcOut), nOutLen);
		pcOut[nOutLen] = '\0';
    }
    catch (...)
    {
		pcOut[nOutLen] = '\0';
    }
}
Код:
const int buf = 512;
char myBuffer[buf];
_ToCharM(myBuffer, buf, textBox->Text); // Перевод из String^ в char[]
________________

-Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
  Ответить с цитированием
Старый 17.03.2013, 18:49   #4
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Перевод System::String ^ в массив типа char

или так
Код:
wchar_t* ManagedToNativeString(System::String^ str)
{
	msclr::interop::marshal_context context;
	std::wstring result = context.marshal_as<std::wstring, System::String^>(str);
	return result.c_str();
}
char* ManagedToNativeString(System::String^ str)
{
	msclr::interop::marshal_context context;
	std::string result = context.marshal_as<std::string, System::String^>(str);
	return result.c_str();
}
________________
Talk is cheap. Show me the code
— Linus Torvalds

Последний раз редактировалось Yukikaze; 17.03.2013 в 20:45.
  Ответить с цитированием
Пользователь сказал cпасибо:
крайслер (17.03.2013)
Старый 17.03.2013, 20:23   #5
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Перевод System::String ^ в массив типа char

я сделал немножко проще =_=
превёл юникод
char* StringToChar(System::String^ str)
{
char* ch;
pin_ptr<const wchar_t> wch = PtrToStringChars(str);
size_t convertedChars = 0;
size_t sizeInBytes = ((str->Length + 1) * 2);
ch = (char *)malloc(sizeInBytes);
wcstombs_s(&convertedChars, ch, sizeInBytes, wch, sizeInBytes);
return ch;
}

а потом использовал strncpy может это не проще но мне помогло
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Массив квестов Nеrix Общение разработчиков 0 04.11.2012 11:27
перевод строки в массив байт vladoscom93 Общение разработчиков 0 18.07.2012 15:15
[Помогите!] Массив blad56 Вопросы и ответы, обсуждения 8 03.09.2011 23:23
Переобразование "System::String ^" в "char []" geny С/С++ 1 17.03.2011 18:50

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 22:15.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net