16,202
社区成员
发帖
与我相关
我的任务
分享
void MainWindow::on_actionLock_triggered()
{
QString str = QFileDialog::getOpenFileName();
if(str.isEmpty()){
return;
}
QByteArray ba;
{
QFile file(str);
if(!file.open(QFile::ReadOnly)){
return;
}
QDataStream in(&file);
in >> m_d;
ba = file.readAll();
}
{
QFile file(str);
if(!file.open(QFile::WriteOnly)){
return;
}
QDataStream out(&file);
out << 0xFFFF;
out << ba;
}
}
上面的代码是破坏文件的。
void MainWindow::on_actionUnlock_triggered()
{
QString str = QFileDialog::getOpenFileName();
if(str.isEmpty()){
return;
}
QByteArray ba;
{
QFile file(str);
if(!file.open(QFile::ReadOnly)){
return;
}
QDataStream in(&file);
quint32 sk;
in >> sk;
ba = file.readAll();
}
{
QFile file(str);
if(!file.open(QFile::WriteOnly)){
return;
}
QDataStream out(&file);
out << m_d;
out << ba;
}
}
上面的是恢复文件的。
用上面的代码需要声明一个 quint32 m_d的类变量储存文件的前4个字节。