使用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()函数的封装相关推荐

  1. 使用fcntl编写set_fl()函数和clr_fl()函数

    void set_fl(int fd, int flags) /* flags are file status flags to turn on */ {int val;if ( (val = fcn ...

  2. Linux常用C函数-接口处理篇(网络通信函数)

    接口处理篇 accept, bind, connect, endprotoent, endservent, getsockopt, htonl, htons, inet_addr, inet_aton ...

  3. C语言函数大全(包含大部分的函数,每个函数包括函数名,功能,用法,举例。)

    因为文章内容太长,这里只发了一部分,加入编程秃头俱乐部免费获取.还有更多学习资料等你来拿. 函数名: abort 功 能: 异常终止一个进程 用 法: void abort(void); 程序例: # ...

  4. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  5. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  6. 友元函数、类的非静态成员函数、静态成员函数的区别

    类中申明的函数相对于类来说有三层意思: 1.有this指针 2.函数在类的作用区域中 3.可以访问类中私有部分 4.可以被继承 非静态成员函数具有1234 静态成员函数具有234 友元函数具有3 静态 ...

  7. python使用matplotlib可视化条形图、使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图、side by side)

    python使用matplotlib可视化条形图.使用barh函数可视化条形图(使用barh函数可视化多分类的并行条形图.side by side) 目录

  8. R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置、str_locate_all函数定位所有位置

    R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置.str_locate_all函数定位所有位置 目 ...

  9. R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图、2D密度估计、MASS包中的kde2d函数实现2D密度估计、geom_density2d函数可视化二维密度图

    R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图.2D密度估计.MASS包中的kde2d函数实现2D密度估计.geom_density2d函数可视化二维密度图 目录

最新文章

  1. C++后继有人——D语言
  2. iframe和父窗体之间的互相监听方法
  3. c++枚举类型(二) 命名空间
  4. 四位先行进位电路逻辑表达式_数字电子技术考试卷以及答案(4套)
  5. hadoop 回收站Trash
  6. 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm
  7. 一个简单的json解析器
  8. MFC学习日志(一)
  9. python破解excel进入密码(密码字典)
  10. C语言中按位取反操作符详解
  11. 动手学深度学习环境安装
  12. 地铁路线程序C语言,个人作业-北京地铁出行路线规划命令行程序完成总结
  13. c语言小球消砖块的游戏,求大神帮忙看看这个弹弹球消砖块的游戏代码,为什么speed只能15...
  14. ubuntu18.04安装OpenCV3.4.12步骤及安装中遇到的一些问题
  15. 货车什么叫半挂?什么叫全挂?
  16. java企业级应用开发项目总结报告,基于Java软件项目开发岗位的企业实践总结报告...
  17. arcmap小技巧之获取行政区划及json格式转shp,json转csv
  18. 如何使用计算机备用内存,怎样解决emwin7/em备用存储空间占用高-win7 内存占用高,电脑物理内存占用90...
  19. java自定义环境变量
  20. 注册中心Consul

热门文章

  1. 对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e Pl
  2. 数据结构(严蔚敏)之三——顺序栈之c语言实现
  3. 查阅文献时向原作者发邮件要文献的简单模板
  4. StringTokenizer类的使用方法
  5. sizeof计算类的大小
  6. net::ERR_ABORTED ,引入js文件出现报错的解决方法
  7. W-D-S-UART编程
  8. linux下echo命令详解(转)
  9. 构建安全的Xml Web Service系列之初探使用Soap头
  10. Deep learn toolbox:CNN BP求导解析