Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同步闪存驱动器的C代码_C - Fatal编程技术网

同步闪存驱动器的C代码

同步闪存驱动器的C代码,c,C,作为一次学习经验,我尝试用C编写以下问题 如果插入两个闪存驱动器,每个闪存驱动器都有一个文件夹(例如, 然后它们被同步。也就是说,数据是从一个 对于另一个,如果已经存在一个文件,则更新的文件是 保留 在bash中,我可以通过以下方式实现这一点: #!/bin/bash while $1 do cp -ur /media/PD_1/Course_Notes /media/PD_2/Course_Notes cp -r /media/PD_2/Course_Notes /media/PD_1/Cou

作为一次学习经验,我尝试用C编写以下问题

如果插入两个闪存驱动器,每个闪存驱动器都有一个文件夹(例如, 然后它们被同步。也就是说,数据是从一个 对于另一个,如果已经存在一个文件,则更新的文件是 保留

在bash中,我可以通过以下方式实现这一点:

#!/bin/bash
while $1
do
cp -ur /media/PD_1/Course_Notes /media/PD_2/Course_Notes
cp -r /media/PD_2/Course_Notes /media/PD_1/Course_Notes
done

如何在没有太多
system
调用的情况下在C中执行此操作?

由于这是一个编程问答网站,您将使用常用的编程工具(而不是自己重写它们)


这听起来像是分布式版本控制系统的完美应用。现在最流行的选择是和。

在现实世界中,您可能会使用类似于
rsync
的东西来实现这一点

您可能正在寻找用于获取大小和修改日期的函数系列,以及用于目录列表的
opendir()
/
closedir()
。复制文件本身的标准方法是打开源和目标,并使用常用的读写功能将从前者读取的内容写入后者


还请注意,标准UNIX实用程序的GNU和BSD版本的源代码(如
cp
)是免费提供的。(同样对于
rsync
),您可能需要阅读一些源代码,看看您自己的方法中可能遗漏了什么。

我知道它们。这只是一个编码练习。Dropbox也适用于我的目的。但是我想要一些离线和自动的东西。Git在离线时工作得很好。此外,Git将检测您何时对两个闪存驱动器上的同一文件进行不同的更改,而您的方法只会覆盖一组更改。