Russian Qt Forum
Ноябрь 26, 2024, 04:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: преобразовать QString к BYTE*  (Прочитано 10696 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #15 : Май 30, 2013, 10:15 »

Всем спасибо,с горем пополам все решилось,но сам процесс не радует)))
Вот как получается:
Из lineEdit получаем строку "2a 2a 2a 2a"
из нее делаем QString str, значение которой равно "\x2a\x2a\x2a\x2a" и получаем число элементов size,которое равно соответственно 4.
и простите "идиотское" преобразование:
Код:
char* temp = new char[size];
QString tempStr = QByteArray::fromHex(str.toAScii());

strcpy(temp,tempStr.toStdString().c_str());

(BYTE*)temp;

вот собственно так,если кто то может подсказать аналогичный,но более простой путь,буду признателен))

Код:
QString str = "\x2a\x2a\x2a\x2a";
QByteArray hex = QByteArray::fromHex(str.toAScii());
BYTE *bytes = reinterpret_cast<BYTE *>(hex.data());
bytes будет жив, пока живёт батарей.
Записан
nikeo
Гость
« Ответ #16 : Май 30, 2013, 10:48 »

Код:
QString str = "\x2a\x2a\x2a\x2a";
QByteArray hex = QByteArray::fromHex(str.toAScii());
BYTE *bytes = reinterpret_cast<BYTE *>(hex.data());
bytes будет жив, пока живёт батарей.

Не работает;) так как вы написали может и работает,но это не то)))
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #17 : Май 30, 2013, 10:54 »

Что именно не работает? Я как бы не проверял вообще.
Записан
nikeo
Гость
« Ответ #18 : Май 30, 2013, 11:03 »

возвращает опять бред,не то,тем более,когда так записываешь,она сразу же преобразуется в "****", а у меня значение самой переменной "\x2a\x2a\x2a\x2a"
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.