C++ Qt";tcpserver->;写(字符串)";
我这里有一个非常简单的问题,我如何发送一个字符串C++ Qt";tcpserver->;写(字符串)";,c++,string,qt,tcp,send,C++,String,Qt,Tcp,Send,我这里有一个非常简单的问题,我如何发送一个字符串 tcpserver->write(string); 我试过: tcpserver->write("string") 它可以工作,但是如果我想在其中输入一个字符串,我会得到一个“没有匹配的函数来调用'QtcpSocket::write(QString)'” 错误 所以我尝试将字符串转换为“数据”,然后发送它,但我得到了大量错误 我的问题是:我如何通过我的tcpserver轻松地发送字符串 (我还应该提到,我对编程非常陌生)尝试tc
tcpserver->write(string);
我试过:
tcpserver->write("string")
它可以工作,但是如果我想在其中输入一个字符串,我会得到一个“没有匹配的函数来调用'QtcpSocket::write(QString)'”
错误
所以我尝试将字符串转换为“数据”,然后发送它,但我得到了大量错误
我的问题是:我如何通过我的tcpserver轻松地发送字符串
(我还应该提到,我对编程非常陌生)尝试tcpserver->write((const char*)string.data(),string.length()*sizeof(QChar)) 试试tcpserver->write((const char*)string.data(),string.length()*sizeof(QChar)) 您需要将字符串转换为QByteArray,例如:
tcpserver->write(string.toLocal8Bit()) 您需要将字符串转换为QByteArray,例如:
tcpserver->write(string.toLocal8Bit()) QTcpSocket对write()函数有3个重载
qint64 write (const char *data);
qint64 write (const char *data, qint64 len);
qint64 write (const QByteArray &data);
因此,将QString转换为它们中的任何一个。试试看
tcpserver->write (string.toLatin1 ());
QTcpSocket对write()函数有3个重载
qint64 write (const char *data);
qint64 write (const char *data, qint64 len);
qint64 write (const QByteArray &data);
因此,将QString转换为它们中的任何一个。试试看
tcpserver->write (string.toLatin1 ());