文件IO-Linux

pcb:结构体
一个进程由一个文件描述符表:1024,前三个占用,文件描述符作用,需要磁盘文件。
1:open、close
int open(const char* pathname,int flags);
int open(const char* pathname,int flags,mode_t mode);
参数:
flags:
必选项O_RDONLY,O_WRONLY,O_RDWR
可选项:
I:创建文件:O_CREAT
创建文件时检测文件是否存在:O_EXCL
如果文件存在,返回-1
必须与O_CREAT一起使用
II:追加文件:O_APPEND
III:文件截断:O_TRUNC
IV:设置非阻塞:O_NONBLOCK
mode:
mode & ~umash
2:read
函数原型:ssize_t read(int fd,void *buf, size_t count)
参数:fd: open的返回值
buf 缓冲区 存储要读取的数据
count:缓冲区能存储的最大字节数 sizeof(buf)
返回值:
-1:失败
成功:
>0 :读出的字节数
=0:文件读完了
3:write
函数原型:ssize_t write(int fd, const void* buf, size_t count)
参数:
fd:
buf:
count:strlen(buf),有效字节数
返回值:
-1: 失败
>0: 写入到文件的字节数
4:lseek
函数原型:off_t lseek(int fd, off_t offset, int whence);
5:阻塞和非阻塞
阻塞和非阻塞是文件属性还是read函数的属性
文件IO-Linux的更多相关文章
- 转 漫谈linux文件IO
在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO.本篇文件打算详细全面,深入浅出.剖析文件IO的细节.从多个角度探索如何提高IO性能.本文尽量用 ...
- 漫谈linux文件IO
在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO.本篇文件打算详细全面,深入浅出.剖析文件IO的细节.从多个角度探索如何提高IO性能.本文尽量用 ...
- Linux下用文件IO的方式操作GPIO(/sys/class/gpio)(转)
通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...
- linux 文件IO
1.文件描述符 (1)文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表.(2)文 ...
- <摘录>linux文件IO
这篇文章写的比较全面,也浅显易懂,备份下.转载自:http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的 ...
- 《嵌入式linux应用程序开发标准教程》笔记——6.文件IO编程
前段时间看APUE,确实比较详细,不过过于详细了,当成工具书倒是比较合适,还是读一读这种培训机构的书籍,进度会比较快,遇到问题时再回去翻翻APUE,这样的效率可能更高一些. <嵌入式linux应 ...
- 2.Linux文件IO编程
2.1Linux文件IO概述 2.1.0POSIX规范 POSIX:(Portable Operating System Interface)可移植操作系统接口规范. 由IEEE制定,是为了提高UNI ...
- 漫谈linux之文件IO篇(SSD写性能和机械硬盘差不多,读是4到10倍)
前同事的文章,觉得写得很清晰,收藏了. http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的东西,技术 ...
- linux系统编程--文件IO
系统调用 什么是系统调用: 由操作系统实现并提供给外部应用程序的编程接口.(Application Programming Interface,API).是应用程序同系统之间数据交互的桥梁. C标准函 ...
- 【Linux 应用编程】文件IO操作 - 常用函数
Linux 系统中的各种输入输出,设计为"一切皆文件".各种各样的IO统一用文件形式访问. 文件类型及基本操作 Linux 系统的大部分系统资源都以文件形式提供给用户读写.这些文件 ...
随机推荐
- java BitSet2
15. int nextClearBit(int startIndex)返回第一个设置为 false 的位的索引,这发生在指定的起始索引或之后的索引上. 16. int nextSetBit(int ...
- Lambda 表达式 是 个 好东东
Lambda 表达式 是 个 好东东 首先,通过 Lambda 表达式 + 动态语言特性 dynamic , C# 已经 可以 实现 函数式 编程 了 其次, 利用 Lambda, 可以 实现 AOP ...
- js将网址转为二维码并下载图片
将一个网址转为二维码, 下面可以添加文字, 还提供下载功能 利用的是 GitHub上面的qrcode.js 和canvas <!DOCTYPE html> <html> < ...
- highcharts 知识点
去掉版权: credits:{ enabled:true // 默认值,如果想去掉版权信息,设置为false即可 }
- tp5服务器验证案例
1.验证器代码 <?php namespace app\user\validate; use think\Validate; use Potting\IDCard; /** * 山区治理报名验证 ...
- Zookeeper watcher机制
一.watcher机制 1.针对每个节点的操作,都会有一个监督者-> watcher 2.当监控的某个对象(znode)发生了变化,则触发watcher事件 3.zk中的watcher是一次性的 ...
- Ubuntu Nginx Ruby, Rails Mysql 安装
1. Nginx 安装 sudo apt-get install nginx 2. Ruby 安装 sudo apt-get install ruby 查看版本 ruby -v 3. Rails 安装 ...
- fastdfs远程服务器java连接失败的问题
異常如下: java.net.SocketTimeoutException: connect timed out at java.net.DualStackPlainSocketImpl.waitFo ...
- C++进阶--编译器自动生成的类函数
//############################################################################ /* 在C++ 03标准下 在没有显式定义 ...
- PAT 乙级 1027 打印沙漏(20) C++版
1027. 打印沙漏(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求你写个程序把给定的符号打印成 ...