0

Qt で telnet サーバー アプリを構築しています。Linux telnet クライアントから接続すると、出力が見栄えがよくなります。たとえば、コンソールに "A" << endl << "B" << endl << "C" を送信すると、次のようになります。

A
B
C

Windows telnet クライアントから接続すると、

A
 B
  C

明らかに Qt の endl は '\n' のみを送信しています。これに対する簡単な解決策はありますか?endl を "\r\n" に置き換えると、Linux クライアントが台無しになりますか? フラッシュも強制する必要がありますか?

これは、telnet クライアントに送信するために使用している実際のコードです。

QString block;
QTextStream out(&block, QIODevice::WriteOnly);
out << "Valid commands are: " << endl
    << "  help         Print this list" << endl
    << "  version      Print this version" << endl
    << "  clientcount  Show the number of active telnet clients" << endl
    << "  logrotate    Rotate the event log file" << endl
    << "  shutdown     Initiate shutdown secast" << endl
    << "  quit         Disconnect your telnet session" << endl
    << "  stop         Shutdown secast" << endl;
tcpSocketPtr->write(block.toUtf8());
4

1 に答える 1