我曾经使用 C++ 套接字发送结构,现在我正在尝试使用 QTcpSockets。这是结构:
const unsigned int uiMessageSize = 4;
typedef struct {
unsigned char uc_stx;
unsigned char uc_add;
unsigned char uc_state;
unsigned char uc_eot;
unsigned char uc_unused_padding[1024];
} st_message;
那么,为了写作,我曾经调用 write(sockfd, &messageToSend, uiMessagePcToMastSize);
现在我正在尝试:socket->write(&messageToSend, uiMessagePcToMastSize);
但不起作用:没有匹配函数来调用 'QTcpSocket::write(mastControl: :st_messagePcToMast*, const unsigned int&).
我已经搜索了更多信息,看起来我应该将结构转换为 QDataStrem,或者只是一个 QByteArray。我真的不知道如何删除这个。
有什么帮助吗?
最佳答案
documentation表明写入函数重载了 1 个函数 qint64 QIODevice::write (const char * data, qint64 maxSize)
,因此转换为 const char*
应该就足够了。
关于c++ - QTcpSocket 写入数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428156/