问问题
527 次
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 回答