gpt4 book ai didi

c++ - 你如何在Qt中删除字符串(qstring)中的子字符串

转载 作者:行者123 更新时间:2023-11-28 04:09:51 28 4
gpt4 key购买 nike

Qt中有没有类似于Delphi中的delete()和copy()的函数。

我正在从通过 USB 连接到我的计算机的设备读取数据并将其存储为 QString。读取的每一行都不相同(或者被缩短,即使在使用 readyRead 时也是如此)。我创建了一个缓冲区字符串来添加这些“半字符串”(例如,string =“This”而不是“This is a string#”),现在我想复制字符串直到'#'然后删除字符串因此,如果添加了新的“半刺”,我可以对它们做同样的事情。下面的代码是我试过的

void MainWindow::readSerial()
{
QByteArray serialData = port->readAll();
serialBuffer += serialData;

QByteArray serialString = serialBuffer.

qDebug() << serialString;
ui -> textEdit ->append(serialString);

//serialBuffer.replace(serialString,"");
}

上面的代码只返回一个空字符串。

最佳答案

void MainWindow::readSerial()
{
QByteArray serialData = port->readAll();
serialBuffer += serialData;

QString serialString = serialBuffer.mid(serialBuffer.indexOf("$"),serialBuffer.indexOf("\r\n"));

qDebug()<< "index of \r\n" << serialBuffer.indexOf("\r\n");
qDebug() << "SerialString" <<serialString;
ui -> textEdit ->append(serialString);
qDebug() << "SerialBuffer: " << serialBuffer;

serialBuffer.replace(serialString + "\r\n","");

}

上面的代码有效。谢谢大家。

问候

关于c++ - 你如何在Qt中删除字符串(qstring)中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58041803/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com