系统调用(System Call)
  文件的操作函数(Unix/Liunx系统内部提供的函数)
  time 可以查看程序的运行时间,包括用户层时间和系统层的时间。
  系统调用其实就是一系列的函数,由操作系统提供的用于进入内核空间。用法上系统调用和普通函数一样。

  文件操作函数:
   标C:fopen/fclose/fread/fwrite/fprintf/fseek
   Unix/Linux的系统调用:
   open/close/read/write/ioctl/...
   在Linux系统中,几乎一切都可以看成文件。
   目录是文件、内存是文件、各种硬件设备 ...
   也就是说:open/close/read/write/ioctl 适用于 各种输入输出设备。
   文件相关的标C函数在Unix/Linux系统中,底层都是调用了系统函数。
   文件描述符的概念:
   Unix/Linux中,用一个非负整数代表一个打开的文件,这个非负整数 叫 文件描述符。
   系统在打开文件时,把文件的信息存入文件表,同时把文件表的地址和文件描述符绑定在一起,因此文件描述符 可以对应一个文件。
   0,1,2 这三个数字已经被系统占用了,用来对应标准输入、标准输出、标准错误,所以 程序员的文件描述符从3开始。open函数返回 可用的最小文件描述符。open函数的oflag参数:
   O_RDONLY/O_WRONLY/O_RDWR 对应权限
   O_CREAT/O_EXCL/O_TRUNC  对应创建新文件
   O_CREAT 当文件不存在时,新建,存在时打开
   O_EXCL  和O_CREAT一起使用,文件存在时,不打开而是返回错误
   O_TRUNC 文件存在时,清空文件后打开
   O_APPED 以追加的方式打开

  新建文件时,需要指定权限(作为第三个参数)
同一个文件,可以打开多个文件描述符对应。
文件描述符在Linux系统中最多同时打开256个。
  read/write 第一个参数是 文件描述符(需要open),第二个参数 是一个首地址,第三个参数是 buf的大小,返回实际 读出/写入的字节数,失败返回-1
  write第三个参数是 实际要写入的字节数。

  open,read,write 和 标C函数对比:
  标C函数都 写了缓冲区,累积到一定的数量再调用一次系统调用,因此,频繁的io,标C函数效率稍高,但程序员也可以自定义缓冲区提升代码的效率。

  int arr[1000] = {};

最新文章

  1. Linux 江湖系列阶段性总结
  2. Session 知识点再整理(二) 自定义 Session 存储机制
  3. git生成SSH key
  4. Leetcode OJ : Evaluate Reverse Polish Notation Stack C++ solution
  5. spring--AOP1--6
  6. 业界良心:Square开源Viewfinder,25万行代码全公布!
  7. poj Building a Space Station
  8. python 中去除BOM头
  9. iOS 4.2 SDK安装
  10. 免费内网映射外网绑定,tcp端口转发(windows)
  11. 使用react-router实现单页面应用路由
  12. 作业二、comp和swap函数
  13. [python]Generators
  14. Ubuntu 10.04里安装强大抓图工具Shutter
  15. e768. 创建单选按钮
  16. .net framework 4.0 在 VS2010 安装目录下位置 dotNetFx40_Full_x86_x64.exe在磁盘哪个目录?
  17. thinkphp5部署在宝塔面板问题!
  18. CG图形学的工具
  19. UserAgent判断浏览器类型或爬虫类型
  20. ios - UILabel全属性

热门文章

  1. Saruman's Army (POJ 3069)
  2. css中的边框样式
  3. 响应式布局:Flexbox应用总结
  4. [Cycle.js] Fine-grained control over the DOM Source
  5. jquery之批量上传图片
  6. 使用date转换UNIX时间戳
  7. Mac_配置adb环境变量
  8. DataSource
  9. TOJ3596 二维背包
  10. 高级I/O函数(2)-splice函数