【问题标题】:Qt "tcpserver->write(string)"Qt“tcpserver->写(字符串)”
【发布时间】:2016-05-01 20:48:15
【问题描述】:

我在这里有一个非常简单的问题,我怎样才能用

发送一个字符串
tcpserver->write(string);

我试过了:

tcpserver->write("string") 

它可以工作,但是如果我想在其中输入一个字符串,我会得到一个“没有匹配的函数来调用'QtcpSocket::write(QString)'” 错误,

所以我尝试将字符串转换为“数据”然后发送它,但我遇到了很多错误...

我的问题是:我怎样才能通过我的 tcpserver 轻松发送字符串?

(我还要提一下,我对编程很陌生)

【问题讨论】:

    标签: c++ string qt tcp send


    【解决方案1】:

    需要将字符串转换为QByteArray,例如:

    tcpserver->write(string.toLocal8Bit());

    【讨论】:

      【解决方案2】:
      tcpserver->write(string.toUtf8());
      

      【讨论】:

        【解决方案3】:

        试试tcpserver->write((const char *)string.data(), string.length()*sizeof(QChar));

        【讨论】:

          【解决方案4】:

          QTcpSocket 有 3 个 write() 函数重载

          qint64 write (const char *data);
          qint64 write (const char *data, qint64 len);
          qint64 write (const QByteArray &data);
          

          所以将 QString 转换为其中的任何一个。试试看

          tcpserver->write (string.toLatin1 ());
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-05-17
            • 2019-08-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-09-02
            • 1970-01-01
            相关资源
            最近更新 更多