gpt4 book ai didi

c++ - 如何在 Qt 中管理文件(替换、删除...)?

转载 作者:行者123 更新时间:2023-11-28 02:23:20 25 4
gpt4 key购买 nike

我有一个文本文件及其备份拷贝:备份拷贝具有相同的名称,只有“2”作为扩展名的最后一个字符(示例:原始文件:Myfile.txt - 备份文件:Myfile.txt2)。有时我需要用备份替换原来的;我执行以下操作:

QFile BackupFile("Myfile.txt2");           // backup copy
QString nameFile = BackupFile.fileName();// name of backup copy of file
nameFile.chop(1); // remove the last letter of file name, so nameFile now is the same of Original file
QFile originalFile(nameFile); // Original copy
originalFile.remove(); // delete the original file
BackupFile.rename(nameFile); // rename the backup file as original
BackupFile.close(); // close the file

这行得通,但似乎太复杂了。我想要更简单的东西。

你有什么建议吗?

最佳答案

我认为这段代码可以是简单的方法。但是,您应该为错误情况添加代码,例如“检查备份文件是否存在”等。

auto ReplaceWithBackup = []( QString& backupName ) -> bool
{
QString originName = backupName;
originName.chop( 1 );

if ( QFile::exists( originName ) )
{
QFile::remove( originName );
}

return QFile::rename( backupName, originName );
};

if ( ReplaceWithBackup( "Myfile.txt2") == false )
{
// error
}

关于c++ - 如何在 Qt 中管理文件(替换、删除...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com