请教各位达人,我使用QDataStream已经读取到了存在硬盘上的文件,我的问题是如何把这些数据流分成若干的128个字节的小片段,依次通过串口发送?
下面的代码:
void MainWindow::on_KeyTone1_clicked()
[pre]{[/pre] unsigned int m,n;
char *sendbuf;
unsigned long int i;
QString filename = QFileDialog::getOpenFileName(
this,
"Open Document",
QDir::currentPath(),
"WAV files (*.wav);;All files(*.*)"); //设定默认文件类型
if (!filename.isNull()) //用户选择了文件
{
// 处理文件
QMessageBox::information(this, "Document", "Has document", QMessageBox::Ok | QMessageBox::Cancel);
ui->KeyToneL1->setText(filename); // 在QLineEdit中显示所选择的文件
QFile file(filename);
if (file.open(QIODevice::ReadOnly)) //正常打开文件
{
i = file.size(); //取得文件大小
QByteArray file_buffer(file.size(),0);//开辟缓冲区
QDataStream out(&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", "No document", QMessageBox::Ok | QMessageBox::Cancel);
}
}
[pre][/pre]