C++:使用同步时重命名而不是删除和复制

标签 c++ file synchronization rename put

目前我的 Sync 中有以下部分代码:

...

int index = file.find(remoteDir);
if(index >= 0){
    file.erase(index, remoteDir.size());
    file.insert(index, localDir);
}

...

// Uses PUT command on the file

现在我想改为执行以下操作:

  • 如果一个文件和以前一样,除了重命名,不要使用 PUT 命令,而是使用重命名命令

TL;DR:有没有办法检查文件是否与以前相同,只是发生了重命名?那么有一种方法可以比较两个文件(具有不同的名称)以查看它们是否相同?

最佳答案

检查 md5sum,如果不同则修改文件。 重命名文件的 md5 校验和将保持不变。文件内容的任何更改都会给出不同的值。

关于C++:使用同步时重命名而不是删除和复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22877956/

相关文章:

c++ - 精度损失

c++ - 从一个值和一个大小创建递归函数参数列表

c++ - 使用套接字从页面加载数据

Python open() 需要完整路径

戈朗 : Values containing the types defined in this package should not be copied

c++ - 如何在 C++ 中逐字符读取字符串?

file - jpeg重新启动标记

java - 关于为什么输出流仅将翻译变量的最后一行打印到新文件而不是所有行的任何解释?

java - 收到 ConcurrentModificationException 但我没有删除

java - 如何使用信号量进行信号发送?