比如对于:
QByteArray data;
data.resize(5);
data[0]=0x01;
data[1]=0x02;
data[2]=0x03;
data[3]=0x00;
data[4]=0x04;
1、选中write()函数,点击“F2”查找发现无论网口还是串口,调用的write()函数都源自QIODevice类,如下所示,省略其他;
class Q_CORE_EXPORT QIODevice
#ifndef QT_NO_QOBJECT
: public QObject
#endif
{
qint64 write(const char *data, qint64 len);///<<<<--1
qint64 write(const char *data);///<<<<--2
inline qint64 write(const QByteArray &data)///<<<<--3
{ return write(data.constData(), data.size()); }
2、write()函数共有三个重载,若执行write(data)、write(data,5)、write(data.constdata,data.size())、或write(data.constdata,data.length())可正常发送,若执行write(data.constdata)则会在data[3]处出现断针,只将data[0]、data[1]、data[2]成功发送,尚未查到为何会出现这种现象。
鄙人愚见、请多指教。