加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux系统编程之文件与I/O(一) 文件的打开关闭

发布时间:2016-09-24 04:17:53 所属栏目:Linux 来源:站长网
导读:一、文件描述符 对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的。当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数)
副标题[/!--empirenews.page--]

一、文件描述符

对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的。当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数)。后续对文件的操作只需通过该文件描述符,内核记录有关这个打开文件的信息(file结构体)。

一个进程启动时,默认打开了3个文件,标准输入、标准输出、标准错误,对应文件描述符是0(STDIN_FILENO)、1(STDOUT_FILENO)、2(STDERR_FILENO),这些常量定义在unistd.h头文件中。

fileno:将文件指针转换为文件描述符

fdopen:将文件描述符转换为文件指针

二、什么是I/O

输入/输出是主存和外部设备之间拷贝数据的过程

设备->内存 (输入操作)

内存->设备 (输出操作)

高级I/O

ANSI C提供的标准I/O库称为高级I/O,通常也称为带缓冲的I/O

低级I/O

通常也称为不带缓冲的I/O

三、文件的打开关闭

open系统调用1:

函数原型

int open(const char *path, int flags);

参数

path :文件的名称,可以包含(绝对和相对)路径

flags:文件打开模式

返回值:

打开成功,返回文件描述符;打开失败,返回-1

open系统调用2:

函数原型

int open(const char *path, int flags,mode_t mode);

参数

path :文件的名称,可以包含(绝对和相对)路径

flags:文件打开模式

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读