c++ - Qchar* 到 char* 的转换

标签 c++ qt serial-port qchar

我正在构建一个 Qt Gui 应用程序来监视来自串行端口的数据。我正在使用 qextserialport 库。这是我遇到的问题。

void MainWindow::onDataAvailable()
{
    QString data_ser,data_trimmed;
    port->readLine(data_ser.data(),0);
    data_trimmed = data_ser.trimmed();
    ui->textEdit->append(data_trimmed);
}

readLine方法的第一个参数应该是char*类型。如何转换data_ser.data()返回的QChar* char*。我本可以使用 std::string 而不是 QString 但 qt gui 对象与 QString 更好地兼容,并且我也需要 trimmed 方法。

这是我遇到的错误:

没有匹配的成员函数来调用“readLine”。 第一个参数没有从“QChar *”到“char *”的已知转换。

如何解决这个问题??

最佳答案

你不能,或者至少你不想(当然,在 C++ 中,你可以将 QChar* 转换为 char*,但这不会使它工作)。只需将数据读入 QByteArray,然后将其转换为 QString。

关于c++ - Qchar* 到 char* 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13499687/

相关文章:

gcc+mingw 下的 C++ 段错误,但不是 gcc+linux

c++ - QT的UDP广播

c++ - 在 QWidget 的子类中调用 width()、height()、size() 或 rect() 以段错误结束

c++ - 在qt窗口的一小部分查看图像

javascript - 如何检测使用 Node.js 连接的 USB 设备

.net - 为什么 SerialPort 类没有 RIHolding 属性?

java - 从串口读取错误值

C++:如何为多维 vector 创建构造函数?

c++ - glibc 检测到双重释放或损坏

c++ - 使用 OpenMPI 从 Fortran 调用 C++