0
4

1 に答える 1

0

私はそれを解決しました。問題は、Windowsでは改行が「\n」ではなく「\r\n」であるということでした。したがって、QString "OK!\n"ウィンドウ上で到着したTCPデータ「OK!\ r \ n」と比較すると、常に「false」になります。QString "OK!\r\n"1つの解決策は、到着したTCPデータ「OK!\ r \ n 」と比較するか、2番目の解決策は最初の「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 に答える