0
4

1 回答 1

0

我解决了。问题是在 Windows 中新行不是 '\n' 而是 '\r\n'。因此,如果我将我QString "OK!\n"的 Windows 与到达的 TCP 数据“ OK!\r\n ”进行比较,那么我总是得到“假”。一种解决方案是将 myQString "OK!\r\n"与到达的 TCP 数据“ OK!\r\n ”进行比较,或者第二种解决方案是仅拆分第一个“OK!” 部分数据用Qt命令QString kurzstr = str.section("\r\n", 0, 0);代码如下:

QString okStr = "OK!";
QString str = socket->readLine();
QString kurzstr = str.section("\r\n", 0, 0);
    if(okStr == kurzstr)
        ui->textEdit->append("OK! is true");
    else
        ui->textEdit->append("OK! is false");
于 2012-11-07T08:03:27.297 回答