我很难让这个循环工作。
const char* filename = "test.txt";
int inotfd = inotify_init();
int watch_desc = inotify_add_watch(inotfd, filename, IN_MODIFY);
size_t bufsize = sizeof(struct inotify_event) + PATH_MAX + 1;
struct inotify_event* event = (inotify_event*)malloc(bufsize);
while (true) {
read(inotfd, event, bufsize);
//Does smth here
}
问题是它只循环一次。在第一Does smth here
行之后循环结束。
此外,我inotify
用来知道何时在应用程序之外修改了文本文件。read()
只是等待文件被修改,所以我需要它在一个循环中。