2012-07-15 1 views
0

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의 형식으로 밝혀졌으며 텔넷 등을 사용한 결과가 아닙니다.

답변

1

줄 바꿈과 따옴표는 qDebug()를 사용했을 때의 효과가 아닌가?

QDebug는 항상 문자열 주위에 따옴표를 넣고 나중에 줄 바꿈을 쓰고

+0

수정, 따옴표는 QString 주위에 넣어 실제로 존재하지 않는 – Knox