关于QT编程TCP通讯 用write传输数据的问题

小生刚学QT,编了一个网络调试的基本小程序,但是在发送数据的时候用write写发送代码总是出现异常,停在了:qglobal.h中的inlineQFlagsoperator... 小生刚学QT,编了一个网络调试的基本小程序,但是在发送数据的时候用write写发送代码 总是出现异常,停在了:qglobal.h中的
inline QFlags operator&(Enum f) const { QFlags g; g.i = i & f; return g; }
中。
我的部分代码如下:
TCPTool::TCPTool(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
connect(ui.listenPushButton,SIGNAL(clicked()),this,SLOT(creatListen()));
connect(ui.serverPushButton,SIGNAL(clicked()),this,SLOT(creatServer()));
}
void TCPTool::creatServer()
{
if (ui.ServerIP->text()==""||ui.ServerPort->text()=="")
{
QMessageBox::warning(this,tr("warning"),tr("Input port and IP number"),QMessageBox::Yes);
}
else
{
QTcpSocket *tcpSocket=new QTcpSocket(this);
int c=ui.ServerPort->text().toInt();
tcpSocket->abort();
tcpSocket->connectToHost(ui.ServerIP->text(),c);
connect(tcpSocket,SIGNAL(connected()),this,SLOT(connectServer()));
connect(tcpSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(connectError(QAbstractSocket::SocketError)));
}
}
void TCPTool::connectServer()
{
connect(ui.sendPushButton,SIGNAL(clicked()),this,SLOT(sendMessage()));
}
void TCPTool::sendMessage()
{
QString block=ui.serverTextEdit->toPlainText();
tcpSocket->write(qPrintable(block));
}

到tcpSocket->write(qPrintable(block))就出错了,小生真的不知道怎么办了,望高手指点一二,到底怎么回事腻
展开
 我来答
百度网友914ba41
2013-06-03 · TA获得超过1608个赞
知道小有建树答主
回答量:1217
采纳率:50%
帮助的人:935万
展开全部
个人认为可能是qPrintable转换后的数据为const指针吧,建议直接用
toLocal8Bit 试试吧 我觉得是参数强制转换的问题 很乐意和你一起探讨这个问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式