[Linux文件属性]使用fcntl函数获取文件标志
//这是一个使用fcntl函数来对文件描述符进行操作实例 #include#include #include 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; }
网站名称:[Linux文件属性]使用fcntl函数获取文件标志
文章网址:http://scyanting.com/article/ppeojj.html