fcntl函数完成 set_fl()函数还有clr_fl()函数的封装
生活随笔
收集整理的這篇文章主要介紹了
fcntl函数完成 set_fl()函数还有clr_fl()函数的封装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用fcntl函數完成,set_fl和clr_fl()函數的封裝,設置文件的屬性,例如:阻塞IO模型 和 非阻塞IO模型
#include <stdio.h> #include "io.h"void set_fl(int fd, int flags) /* flags are file status flags to turn on */ {int val;if ( (val = fcntl(fd, F_GETFL, 0)) < 0){printf("fcntl F_GETFL error");exit(1);}val |= flags; /* turn on flags *///重新設置文件狀態標志(val為新文件的文件狀態標志)if (fcntl(fd, F_SETFL, val) < 0){printf("fcntl F_SETFL error");exit(1);} }void clr_fl(int fd, int flags) {int val;if ((val = fcntl(fd, F_GETFL, 0)) == -1){perror("fcntl error!");exit(1);}val &= ~flags; /* turn flags off */if (fcntl(fd, F_SETFL, val) == -1){perror("fcntl error!");exit(1);}return; }總結
以上是生活随笔為你收集整理的fcntl函数完成 set_fl()函数还有clr_fl()函数的封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:郭绍光(1985-),男,中国科学
- 下一篇: 作者:李涛,男,南京邮电大学计算机学院、