目录

一、文件描述符

二、文件控制头文件  fcntl.h

2.1 打开文件函数

2.2 创建文件函数

三、符号常量头文件unistd.h

3.1 关闭文件函数

3.2 确定文件偏移量函数


一、文件描述符

文件描述符:对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数:

当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符。

当读或写一个文件时,使用open或create返回的文件描述符标识该文件,将其作为参数传送给read或write。


二、文件控制头文件  fcntl.h

POSI标准定义的关于文件控制的头文件


2.1 打开文件函数

函数原型 int open(const char *pathname, int oflag, .../*mode_t mode */);

1、pathname是要打开或创建文件的名字(包括文件路径);

2、oflag参数用来说明此函数的多个选项:
在这三个常量中必须指定且只能指定一个。
O_RDONLY  只读模式
O_WRONLY  只写模式
O_RDWR    读写模式
可选(仅仅列举部分)
O_APPEND  每次写都追加到文件的尾端
O_CREAT   此文件不存在,则创建它。需要第三个参数,mode,用其指定该新文件的访问权限位。

3、mode(访问权限位)
创建文件时使用,用其指定新文件的访问权限位。

4、返回值:open返回的文件描述符一定是最小未用的描述符数值。

2.2 创建文件函数

int create(const char *pathname, mode_t mode);


三、符号常量头文件unistd.h

符号常量定义在<unistd.h>   unistd.h是unix std的意思,是POSIX(Portable Operating System Interface可移植的操作系统接口)标准定义的unix类系统定义符号常量的头文件。(推荐阅读Linux的前世今生,了解下什么是unix类系统)。

文件描述符0与标准输入关联    STDIN_FILENO
           文件描述符1与标准输入关联    STDOUT_FILENO
           文件描述符2与标准出错输出关联STDERR_FILENO

3.1 关闭文件函数

关闭一个文件时还会释放该进程加在该文件上的所有的记录锁。
           返回值:成功返回0,出错返回-1

3.2 确定文件偏移量函数

每个打开的文件都有一个与其相关联的“当前文件偏移量”(current file offset)。通常是一个非负整数。通常,读、写操作都从当前文件偏移量处开始,并使偏移量增加所读写的字节数。按系统默认情况下,当打开一个文件时,除非指定O_APPEND,否则该偏移量设置为0。

off_t seek(int filedes, off_t offset, int whence)
           对参数的解释与参数whence的值有关。

见名知意

若whence是SEEK_SET,则将该文件的偏移量设置为距文件开始处offset个字节
若whence是SEEK_CUR,则将该文件的偏移量设置为其当前值加offset,offset可为正或负。
若whence是SEEK_END,则将该文件的偏移量设置为文件长度加offset,offset可为正或负。
若lseek成功执行,则返回新的文件偏移量。

UNIX文件操作函数open、create、close、lseek简介相关推荐

  1. C语言程序设计 文件操作函数

    文件操作函数 C语言 (FILE fputc fgetc fputs fgets fscanf fprintf) 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别 ...

  2. C/C++,C++文件操作函数

    目录 一.标准文件函数 [1]文件的打开和关闭 [2]文件操作的函数 [3]文件的随机读写 [4]读写指针位置操作 二.非标准文件函数 [1] 文件的打开与关闭 [2]读写函数 [3]随机定位函数 三 ...

  3. python中对文件、文件夹(文件操作函数)的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  4. C语言文件操作函数大全(看到总结的真的很好,就转载贡献给大家了)

    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * st ...

  5. 文件操作函数在VFS层的实现

    文件操作函数在VFS层的实现 参考"Understanding Linux kernel"中的"12.6 Implementations of VFS System Ca ...

  6. Linux 高并发学习笔记 - Linux 文件操作函数

    1.6.2 Linux 文件操作函数 Linux 高并发学习笔记 - 笔记索引 前言 关于文件操作函数这一块主要用英文文档的形势书写,因为凉皮在写文档的时候发现Markdown用起来太繁琐了.那么关于 ...

  7. C语言File文件操作函数学习

    C语言File文件操作函数学习 (禁止转载) (content from <C Primer Plus, Fifth Edition> By Stephen Prata) · Functi ...

  8. 使用文件操作函数实现:文件的复制功能。

    2019独角兽企业重金招聘Python工程师标准>>> //使用文件操作函数实现:文件的复制功能. #include <stdio.h> #include <std ...

  9. php文件有哪几种,PHP常用的文件操作函数有哪些

    PHP常用的文件操作函数有哪些 本文主要总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来.欢饮阅读参考! 一 .解析路径: 1 获得文件名: basename(); 给出一个包含有指 ...

最新文章

  1. Java基础之IO笔记
  2. OpenCV人脸识别LBPH算法源码分析
  3. Spark Yarn Client模式双网卡-多hostname导致问题(阿里云)
  4. LinQ—Lambda表达式
  5. linux/unix 上那些炫酷的命令行工具(一)
  6. mysql5.7下载镜像_docker重新打包MySQL5.7镜像
  7. 语句 查询每个人每个科目的最高分_Mysql中常用的查询实例详解
  8. 2019数模美赛规则
  9. 技术不牛如何才拿到国内IT巨头的Offer
  10. 小米3文件与电脑连接到服务器,小米3怎么连接电脑传文件
  11. 无线wifi盒子用不用拉网线?
  12. android仿小米日历,实现一个仿小米日历控件
  13. 中国石油大学(北京)-《安全与生活》在线考试
  14. uniapp 实现拨打电话
  15. Echarts 图表生成渐变色方法
  16. IDS入侵检测系统与开源IDS-snort的安装与编写规则
  17. 反向索引和自增索引区别_一张图看懂SEO收录与索引的区别
  18. SpringBoot集成SpringMVC
  19. 你所说的到底是哪一种
  20. Ray Tracing in One Weekend从零实现一个简单的光线追踪渲染器

热门文章

  1. java将map转json字符串
  2. Eureka注册服时报错:Root name (‘timestamp‘) does not match expected (‘applications‘) for type `org.springfr
  3. SAP ABAP 模糊查询
  4. Linux 内网-局域网文件快速传输
  5. 通过R语言做灰色预测
  6. ensp ACL访问控制列表配置
  7. 前端优化之回流(Reflow)与重绘(Repaint)
  8. Socket和Websocket
  9. 小程序商城源码代码分析
  10. 操作系统进程同步实验报告