0

我很难让这个循环工作。

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()只是等待文件被修改,所以我需要它在一个循环中。

4

0 回答 0