1
我嘗試從一個fd讀取一些數據,但失敗並顯示錯誤消息「無效參數!」。閱讀失敗,錯誤消息「無效參數」
struct inotify_event eventHdr;
int head_read_len = (int)read(ctx->fd, (void *)&eventHdr, sizeof(inotify_event));
if(head_read_len == -1){
_debug("read eventHdr failed!!!!\n");
perror("read eventHdr!"); //Print "Invalid argument."
}
else{
_debug("read eventHdr succeed!!!!, head_read_len:%d, name:%s\n", head_read_len, eventHdr.name);
lseek(ctx->fd, SEEK_CUR, -head_read_len);
}
注:
的
struct inotify_event
用於inotify的系統調用,人的inotify瞭解更多詳情。fd
保證是一個有效的inotify文件描述符。
什麼似乎是問題?任何寶貴的見解?
確保在打印/解釋之前不要破壞'errno'的值。目前還不清楚'_debug(「read eventHdr failed !!!! \ n」)的代碼是否不會完全做到這一點。將調用放在'perror()'之前。 – alk
謝謝。這是一個問題,但不是造成這種情況的原因。 – FaceBro