我没有C语言经验,但是...
如果我想用 C 语言为 linux 系统编写一个程序,它将在本地文件/目录更新时自动将本地文件/目录同步到远程文件/目录;我应该看哪些库或内置插件?
到目前为止,我查看了 inotify,但在没有任何帮助的情况下,我真的缺乏搜索这个的术语。
编辑
这只是一个练习。
inotify
是要走的路。努力克服它,当你遇到困难时回来在这里问更具体的问题。
这是一个让您入门的示例(请原谅 C++ 输出语句,请想象一下printf
):
void waitfor_activity(const char *path)
{
const int fd = inotify_init();
const int wd = inotify_add_watch(fd, path, IN_MODIFY | IN_CLOSE_WRITE);
char buffer[EVENT_BUF_LEN];
while (true)
{
const ssize_t length = read(fd, buffer, EVENT_BUF_LEN);
if (length < 0) {
perror("read");
}
const struct inotify_event *event = ( struct inotify_event * ) buffer;
std::cout << "event: ";
if (event->mask & IN_CLOSE_WRITE)
{
std::cout << "IN_CLOSE_WRITE ";
}
if (event->mask & IN_MODIFY)
{
std::cout << "IN_MODIFY ";
}
std::cout << std::endl;
}
close(fd);
}