今天在写文件操作,需要使用open函数,功能是在文件后面追加写内容,当时写代码验证时总是没有追加写内容,发现其中文件操作的mode没写对,导致该问题

这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)<0){
perror("open");
}
这个事常用的一种用法fd是设备描述符,linux在操作硬件设备时,屏蔽了硬件的基本细节,只把硬件当做文件来进行操作,而所有的操作都是以open函数来开始,它用来获取fd,然后后期的其他操作全部控制fd来完成对硬件设备的实际操作。你要打开的/dev/ttyS0,代表的是串口1,也就是常说的com1,后面跟的是一些控制字。int open(const char *pathname, int oflag, …/*, mode_t mode * / ) ;这个就是open函数的公式。控制字可以有多种,我现在给你列出来:
O_RDONLY 只读打开。
O_WRONLY 只写打开。
O_RDWR 读、写打开。
O_APPEND 每次写时都加到文件的尾端。
O_CREAT 若此文件不存在则创建它。使用此选择项时,需同时说明第三个参数mode,用其说明该新文件的存取许可权位。
O_EXCL 如果同时指定了O_CREAT,而文件已经存在,则出错。这可测试一个文件是否存在,如果不存在则创建此文件成为一个原子操作。
O_TRUNC 如果此文件存在,而且为只读或只写成功打开,则将其长度截短为0。
O_NOCTTY 如果p a t h n a m e指的是终端设备,则不将此设备分配作为此进程的控制终端。
O_NONBLOCK 如果p a t h n a m e指的是一个F I F O、一个块特殊文件或一个字符特殊文件,则此选择项为此文件的本次打开操作和后续的I / O操作设置非阻塞方式。

linux硬件设备操作函数 open相关推荐

  1. linux硬件设备操作函数 open(/dev/ietctl, O_RDWR|...)

    open(/dev/ietctl, O_RDWR) 这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0 ...

  2. linux ioctl 设备操作函数 r3到r0 应用层 驱动层 通讯

    一.ioctl的简介: 虽然在文件操作结构体"struct file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数.如CD-ROM的驱动 ...

  3. linux驱动程序ioctl函数用法

    一. 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数.所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率.马达的转速等等.它的调用个数如 ...

  4. linux中probe函数传递参数的寻找(下)

    点击打开链接 linux中probe函数传递参数的寻找(下) 通过追寻driver的脚步,我们有了努力的方向:只有找到spi_bus_type的填充device即可,下面该从device去打通,当两个 ...

  5. linux常用c函数(中文版)

    都是linux的c函数东西略多,用页面搜索来查找吧. << Back to man.ChinaUnix.net isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isd ...

  6. linux驱动---ioctl函数解析

    转自(39条消息) linux驱动---ioctl函数解析_那可真是太开心了的博客-CSDN博客_linux驱动ioctl 参考:ioctl,unlocked_ioctl 处理方法-阿里云开发者社区 ...

  7. Linux服务端开发——Linux中stat函数和stat命令使用详解

    这篇文章主要介绍了Linux中stat函数和stat命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 stat函数和s ...

  8. 查看Linux 硬件配置

    如何查看Linux 硬件配置信息 在网上找了N久,发现了一篇不错的文档,转载一下: 1.查看机器所有硬件信息: dmidecode |more dmesg |more 这2个命令出来的信息都非常多,所 ...

  9. linux c数字转字符串函数,Linux常用C函数—字符串转换篇

    Linux 常用C 函数-字符串转换篇 atof (将字符串转换成浮点型数) 相关函数 atoi ,atol ,strtod ,strtol ,strtoul 定义函数 double atof(con ...

最新文章

  1. concurrent(六)同步辅助器CyclicBarrier 源码分析
  2. 两个女孩的生日最后演变成了鬼节
  3. yii urlmanager配置post不生效_一文带你彻底学会 Git Hooks 配置
  4. 【通告更新】Apache Tomcat服务器文件包含漏洞安全风险通告第三次更新
  5. ModuleNotFoundError: No module named ‘exceptions‘
  6. laravel composer 安装指定版本以及基本的配置
  7. async 和 defer
  8. python-sklearn实现一个简易的智能问答机器人
  9. MySQL-Utilities:mysqldbcompare及跳过复制错误
  10. ES 查询 —— match 和 match_prase
  11. matlab中删除照片_matlab中删除对象
  12. CDM技术分析和产品选型建议
  13. 力天创见Brickstream排队客流统计
  14. iPhone弱网测试
  15. NiFi Processors之GenerateFlowFile
  16. SuperMap iClient3D for WebGL教程(Entity)-EllipseGraphics
  17. CNN非接触掌纹识别改进过程(二)
  18. mysql 的innoDB和NDB数据库引擎
  19. 到底怎么样的高手才是高手
  20. vue加载服务器json文件,Vue加载json文件的方法简单示例

热门文章

  1. 电量检测芯片BQ27510使用心得
  2. 高通 android平台LCD驱动分析
  3. vs2005编译DNW050A
  4. html引入外部css_CSS 三种基础选择器
  5. 【知识点】Java常用类库
  6. 如何使用视频转换器将flv格式文件转换为MP4格式
  7. 关于css的一些特别用法
  8. SVN服务器从Windows迁移到Linux
  9. 雷观(十六):帮人写项目,不如教会别人写项目的方法
  10. hdu 3374 String Problem (字符串最小最大表示 + KMP求循环节)