Qt에서 몇 가지 특수 문자 문제가 있습니다. 2는 따옴표 및 개행 문자입니다. 나는 텔넷을 사용하여 서버에 연결하고 있으며, 서버는 어떤 이유로 입력의 시작과 끝 부분에 따옴표를 자동으로 넣습니다. 따옴표와 개행 문자를 모두 제거하는 데 문제가 있습니다. 텔넷에서Qt QTcpSocket QByteArray/QString 특수 문자 및 적절한 구문과 관련된 문제
내 입력 :
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);
}
}
}
줄 바꿈을 교체의 문제는 설명한다 안녕 "여보세요 따옴표 (정상 출력이 될 것": 프로그램이 줄 바꿈을 대체 안녕하세요
후 ")
그리고 따옴표를 바꾸는 것은 전혀 효과가 없습니다. 나는 RegEx이기 때문에 이중 백 슬래시도 사용하려고했지만 둘 다 여전히 같은 문제가 있습니다. 감사합니다. 감사합니다, 감사합니다.
편집 : 이것은 qDebug의 형식으로 밝혀졌으며 텔넷 등을 사용한 결과가 아닙니다.
수정, 따옴표는 QString 주위에 넣어 실제로 존재하지 않는 – Knox