请教各位达人,如何把从文件取出的QDataStream 数据流按照所需要的大小划分成小片段的数据流逐次发送?
我的目的是从文件中读取数据然后发送至串口,每次发送128个字节。
voidMainWindow::on_KeyTone1_clicked()
{
unsignedintm,n;
char*sendbuf;
unsignedlonginti;
QStringfilename=QFileDialog::getOpenFileName(
this,
"OpenDocument",
QDir::currentPath(),
"WAVfiles(*.wav);;Allfiles(*.*)");//设定默认文件类型
if(!filename.isNull())//用户选择了文件
{
//处理文件
QMessageBox::information(this,"Document","Hasdocument",QMessageBox::Ok|QMessageBox::Cancel);
ui->KeyToneL1->setText(filename);//在QLineEdit中显示所选择的文件
QFilefile(filename);
if(file.open(QIODevice::ReadOnly)) //正常打开文件
{
i=file.size(); //取得文件大小
QByteArrayfile_buffer(file.size(),0);//开辟缓冲区
QDataStreamout(&file);
out.setVersion(QDataStream::Qt_4_7);
out.readRawData(file_buffer.data(),i); //读取文件
。。。。。。
myCom->write(file_buffer,128); //写串口,问题就在这里
file.close();
return;
}
}
else//用户取消选择
{
QMessageBox::information(this,"Document","Nodocument",QMessageBox::Ok|QMessageBox::Cancel);
}
}