您好,登錄后才能下訂單哦!
//這是一個使用fcntl函數來對文件描述符進行操作實例 #include <stdio.h> #include <fcntl.h> #include <stdlib.h> int main(int argc, char *argv[]) { int val; if (argc != 2) //如果參數錯誤 { printf("請輸入正確的參數!\n"); } if ((val = fcntl((atoi(*argv+1)), F_GETFL, 0)) < 0) { printf("使用fcntl操作文件描述符錯誤%d", atoi(*(argv+1))); } switch (val & O_ACCMODE) //判斷文件的類型 { case O_RDONLY: printf("只讀\n"); break; case O_WRONLY: printf("只寫\n"); break; case O_RDWR: printf("讀寫\n"); break; default: printf("未知的模式\n"); } if (val & O_APPEND) { printf(",寫時候追加\n"); } if (val & O_NONBLOCK) { printf(",非阻塞\n"); } #if defined(O_SYNC) if (val & O_SYNC) //等待數據和屬性寫完成 { printf(",同步寫\n"); } #endif #if !defined(_POSIX_C_SOURCE) && defined(O_FSYNC) if (val & O_FSYNC) //等待寫完成 { printf(", 等待寫完成"); } #endif putchar('\n'); return 0; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。