我在Qt中遇到一些特殊字符,2是引用和换行符。我使用telnet连接到服务器,由于某种原因,服务器会自动在输入的开头和结尾添加引号。我在删除引号和换行符时遇到问题。
void MyClient::readyRead()
{
if(WaitingForString())
{
if(socket->canReadLine())
{
qDebug() << "Ready to read, string expected";
qDebug() << socket->readLine();
}
}
else
{
if(socket->canReadLine())
{
qDebug() << "Ready to read line, number expected";
QString data = QString(socket->readLine().replace("\n", "").replace("\"", "");
qDebug() << data;
waitForStrings(1);
}
}
}
更换换行符的问题如下所述:
我来自telnet的输入:你好
程序替换换行符后:“ello (带引号的正常输出将为“Hello”)
替换引号完全没有效果。我也试过使用双反斜杠,因为它是一个RegEx,但两者仍然有相同的问题,就像有一个。感谢帮助,谢谢。
编辑:结果是qDebug的格式化,而不是使用Telnet或其他任何结果。
答案 0 :(得分:1)
您确定新行和引号不仅仅是使用qDebug()的效果吗?
QDebug总是在字符串周围加上引号并在之后写一个换行符