请教如何用 QDataStream 读取bin文件

请教如何用 QDataStream 读取bin文件,第1张

你把代码贴全好不好啊,这是声明的QDataStream的对象,代码自己声明的,并不是预定义的。它是一个流对象,你可以查看QDataStream的文档,继承自QIODevice,QDataStreamout(&block,QIODevice::WriteOnly)这一句声明了out是一个QDataStream对象,将声明QByteArray的实例block最为存储缓冲区,模式为只写。同样你去看代码in是一个只读流,将socket中的数据读出来的功能。in>>的意思是读出到blocksize中。和iostream很像,out和in都和网络模块没任何关系。

你用的是C呀。用Qt的话,我有段代码可以给你参考下。

//写二进制数据

QFile dataFile(info_file_name)

if(!dataFile.open(QIODevice::WriteOnly)){

return -1

}

QDataStream out(&dataFile)

out.setVersion(QDataStream::Qt_4_4)

out.setByteOrder(QDataStream::LittleEndian) //编码方式:低字节在前

for(int i=0i<command_datas.count()i++)

{

out<<……

}

dataFile.close()

//读txt数据

QFile infoFile(info_file_name)

if(!infoFile.open(QIODevice::ReadOnly)){

return -1

}

QTextStreamin(&infoFile)

while(!infoFile.atEnd()){

in>>……

}

infoFile.close()

BluetoothSocket

Import Statement: import QtBluetooth 5.2

Since: Qt 5.2

Properties

connected :bool

error :enumeration

service :BluetoothService

state :enumeration

stringData :string

DetailedDescription

它允许QML类能和另一个设备进行蓝牙连接并交换字符串。在这个组件中,数据的发送和接收都使用QDataStream来传输QStrings。QDataStream是众所周知的数据格式,能被非QT程序解码。

注意:这个组件只能传输字符串,如果我们希望传输二进制数据,应该使用对应的C++的QBluetoothSocket类。同时参阅QBluetoothSocket和QDataStream。

PropertyDocumentation

connected :bool

socket的连接状态。如果建立对等连接,这个属性返回真。不能通过设置这个属性来控制是否连接。当设置它为真时,在连接建立之前,它将不会返回真。

error :enumeration

这个属性是最后发生的错误。

NoError

UnknownSocketError

HostNotFoundError

ServiceNotFoundError

NetworkError

UnsupportedProtocolError

错误是QBluetoothSocket::SocketError的派生,这个属性是只读的。

service :BluetoothService

连接的远程服务的详细信息。它能被设置成一个静态蓝牙服务的固定描述,也能是被发现的服务返回的信息。

state : enumeration

当前socket的状态。

NoServiceSet

Unconnected

ServiceLookup

Connecting

Connected

Closing

Listening

Bound

状态由QBluetoothSocket::SocketState派生,这个属性是只读的。

stringData :string

被接受或发送到远程蓝牙设备的数据。抵达的数据能通过链接到这个属性的信号探测到。可使用onStringDataChanged检测数据抵达,然后通过读这个属性获得数据。往这个属性写数据将被发送,如果发送的数据过多,将会阻塞发送,读不会被阻塞。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11204518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存