我正在做一些串口通信到计算机控制的泵,并且我用来通信的createfile函数需要将com端口名称解析为wchar_t指针。我需要将char *(指针)转换为wchar_t *(指针)
我也使用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;
}
因此如何改变我的char *(mychar)到wchar_t的*(端口号)?
谢谢。
你的函数存在潜在的内存问题,它在一个临时变量(toLatin1()的结果)中返回一个指向内存的指针; – 2010-09-15 18:09:46