如何将uint32_t掩码保存为指针变量?
How to save the uint32_t mask as a pointer variable?
此 void inotifyFunc()
包含一个变量作为参数,即 char *path
。我还想添加另一个变量,它应该包含 uint32_t mask
的地址,它基本上是 ENOENT,IN_CREATE,IN_DELETE,等等 ,它存在于inotify_add_watch()
但我不知道如何将 uint32_t mask
保存为变量。
我的主要目标是在主函数中调用这个函数,方法是写一个路径,一次命令(IN_CREATE,IN_DELETE,等等)我应该分配给路径.
希望你能理解我的问题。
void inotifyFunc(char *path){
monitor.fd = inotify_init();
if(fcntl(monitor.fd, F_SETFL, O_NONBLOCK)){
perror("inotify not initialized: ");
exit(0);
}
monitor.wd = inotify_add_watch(monitor.fd, path, ENOENT);
if(monitor.wd < 0){
perror("Sorry");
exit(1);
}
else{
printf("Location '%s' is being monitored\n\n", path);
}
}
如果我做对了
变化:
void inotifyFunc(char *path) {
收件人:
void inotifyFunc(char *path, uint32_t *mask ) {
然后
uint32_t mask = ENOENT;
inotifyFunc("....", &mask); // Address of (pointer to) mask
然后使用
monitor.wd = inotify_add_watch(monitor.fd, path, mask);
编辑
因为我刚刚阅读了手册页 - 请参阅评论
然后
monitor.wd = inotify_add_watch(monitor.fd, path, *mask);
或者
void inotifyFunc(char *path, uint32_t mask ) {
和
inotifyFunc("....", mask);
此 void inotifyFunc()
包含一个变量作为参数,即 char *path
。我还想添加另一个变量,它应该包含 uint32_t mask
的地址,它基本上是 ENOENT,IN_CREATE,IN_DELETE,等等 ,它存在于inotify_add_watch()
但我不知道如何将 uint32_t mask
保存为变量。
我的主要目标是在主函数中调用这个函数,方法是写一个路径,一次命令(IN_CREATE,IN_DELETE,等等)我应该分配给路径.
希望你能理解我的问题。
void inotifyFunc(char *path){
monitor.fd = inotify_init();
if(fcntl(monitor.fd, F_SETFL, O_NONBLOCK)){
perror("inotify not initialized: ");
exit(0);
}
monitor.wd = inotify_add_watch(monitor.fd, path, ENOENT);
if(monitor.wd < 0){
perror("Sorry");
exit(1);
}
else{
printf("Location '%s' is being monitored\n\n", path);
}
}
如果我做对了
变化:
void inotifyFunc(char *path) {
收件人:
void inotifyFunc(char *path, uint32_t *mask ) {
然后
uint32_t mask = ENOENT;
inotifyFunc("....", &mask); // Address of (pointer to) mask
然后使用
monitor.wd = inotify_add_watch(monitor.fd, path, mask);
编辑
因为我刚刚阅读了手册页 - 请参阅评论
然后
monitor.wd = inotify_add_watch(monitor.fd, path, *mask);
或者
void inotifyFunc(char *path, uint32_t mask ) {
和
inotifyFunc("....", mask);