Я делаю передачу данных по последовательному порту на насос с компьютерным управлением, а функция createfile, которую я использовал для связи, требует, чтобы имя com-порта обрабатывалось как указатель wchar_t.Нужно преобразовать char * (pointer) в wchar_t * (pointer)
Я также использую QT для создания формы и получения имени COM-порта в качестве QString.
Этот QString преобразуется в массив символов и указал на следующее:
char* Dialog::GetPumpSerialPortNumber(){
QString mystring;
mystring = ui->comboBox_2->currentText();
char * mychar;
mychar = mystring.toLatin1().data();
return mychar;
мне теперь нужно установить мой номер порта, который хранится в wchar_t * в моем объекте насоса. Я делаю это с помощью вызова следующей функции:
void pump::setPortNumber(wchar_t* portNumber){
this->portNumber = portNumber;
}
Таким образом, как я могу изменить символ * (MyChar) в wchar_t * (Portnumber)?
Спасибо.
У вас есть потенциальная проблема с памятью с вашей функцией, она возвращает указатель на память внутри временной переменной (результат toLatin1()); –