linux系统编程之文件与I/O(一) 文件的打开关闭
副标题[/!--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:文件打开模式 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |