Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> преобразование String^ to char*, Проект VC++(VS2005) windows form 
V
    Опции темы
BaguK
Дата 23.12.2007, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



Народ не как не могу перевести из String^ в char*.
Подскажите пожалуйста :(
PM MAIL ICQ   Вверх
stab
Дата 23.12.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 1
Всего: 48



цель сего перевода какая?


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
BaguK
Дата 23.12.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



Вообщем имеется textBox из него нужно взять текст и поместить его в char*, затем из char* в (к примеру) mysql_query(&mysql, quer); quer - char*;
Код

    char *quer;
    quer="insert into student(nz, fio, floor, dateb, adress, tel, faculty, groupe, curs) values(236, 'dd', 'мужской', '1988-12-17', 'ул. Металлургов 8', 33333, 'ЭИТ', 'БА-31', 3);";
    mysql_query(&mysql, quer);


Добавлено через 10 минут и 5 секунд
В принцыпе решение нашел, но не выводит в lable->text, если если русские символы "ВТ-31". С латиницей все окей. Блин кодировка долбанная :(
Код

                 String ^Inp=gcnew String("ВТ-31");
                 pin_ptr<const wchar_t> wch=PtrToStringChars(Inp);
                 size_t Inp_size = wcslen(wch)+1;
                 const size_t newsize=100;
                 size_t i=0;
                 char Out[100];
                 char *c;
                 wcstombs_s(&i, Out, Inp_size, wch, _TRUNCATE);
                 label1->Text=gcnew String(Out);


PM MAIL ICQ   Вверх
stab
Дата 23.12.2007, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 1
Всего: 48



хм.. не особо разбираюсь в C++/CLI, может System.Text.Encoding.Default.GetBytes(...), а потом в обычный буфер char-ов.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
BaguK
Дата 24.12.2007, 18:13 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



Пиплс помогите мне, уже в среду сдавать курсавую. Почти все сделал осталось только это релиазовать!
PM MAIL ICQ   Вверх
tdebugger
Дата 24.12.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 20.1.2007

Репутация: 2
Всего: 4



Код

String ^Inp=gcnew String(L"ВТ-31");
                 pin_ptr<const wchar_t> wch=PtrToStringChars(Inp);
                 int sizeInBytes = (Inp->Length + 1) ;    
                 char    *ch = (char *)malloc(sizeInBytes);             
                 WideCharToMultiByte(
                     0,
                     0,
                     wch,
                     -1,
                     ch,
                     sizeInBytes,
                     NULL,
                     NULL);

                 label1->Text=gcnew String(ch);
                 delete ch;

Ты был рядом...

Это сообщение отредактировал(а) tdebugger - 24.12.2007, 22:12
--------------------
ТЕХНОЛОГИЯ "JAVA"  НЕ ПРЕДНАЗНАЧЕНА ДЛЯ УПРАВЛЕНИЯ ЯДЕРНЫМИ УСТАНОВКАМИWindows98 License.txt
PM MAIL MSN   Вверх
BaguK
Дата 25.12.2007, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 3.11.2006

Репутация: нет
Всего: нет



tdebugger
Огромное спасибо!
Все работает!
Сорри репутацию не могу изменить у меня меньше 100 постов :(
PM MAIL ICQ   Вверх
mr.DUDA
Дата 25.12.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 24
Всего: 232



Цитата(BaguK @  25.12.2007,  06:20 Найти цитируемый пост)
Сорри репутацию не могу изменить у меня меньше 100 постов :(

Это не проблема, я добавил tdebugger-у +1 smile


--------------------
user posted image
PM MAIL WWW   Вверх
busylee
Дата 29.3.2009, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 13.3.2009

Репутация: нет
Всего: нет



 String ^Inp=gcnew String("ВТ-31");
                 pin_ptr<const wchar_t> wch=PtrToStringChars(Inp);
                 size_t Inp_size = wcslen(wch)+1;
                 const size_t newsize=100;
                 size_t i=0;
                 char Out[100];
                 char *c;
                 wcstombs_s(&i, Out, Inp_size, wch, _TRUNCATE);


попробовал что то типо этого реализовать ничего не получилось
VS2008 отругала сказала что PtrToStringChars(...) вообще не знает и тд
может надо библиотеку какую нить подключить?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.1055 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.