700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux中文件描述符 文件操作(open/read/write/close/lseek) 虚拟空间地址 IO缓冲区

linux中文件描述符 文件操作(open/read/write/close/lseek) 虚拟空间地址 IO缓冲区

时间:2019-02-06 09:37:14

相关推荐

linux中文件描述符 文件操作(open/read/write/close/lseek) 虚拟空间地址 IO缓冲区

一、文件描述符

文件描述符的概念: 在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(进程控制块)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。

文件描述符生成: open()、socket()、pipe()等

总结:Fd是文件描述符 ,int类型的索引,标志着一个文件替代指针的使用。open…等方法返回文件描述符。

二、文件操作函数

函数原型

格式1 intopen(const char *pathname, int flags);

格式2 intopen(const char *pathname, int flags, mode_t mode);

参数描述

pathname 路径+文件名

flats 操作模式 【参考以下】

mode 当创建文件的时候需要在此位置设置权限

====================================

flats参数补充说明

O_CREAT创建O_RDONLY只读

O_WRONLY只写 O_RDWR可读可写

延伸组合使用

O_RDONLY |O_CREAT只读如果不存在则创建

O_WRONLY |O_CREAT只写如果不存在则创建

O_WRONLY | O_APPEND 文件存在则追加写入

====================================

头文件

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

代码举例

//以只读的方式打开God.txt这个文件fd=open("tmp.txt",O_WRONLY);//以追加写入的方式打开tmp.txt 这个文件fd=open("tmp.txt",O_WRONLY|O_APPEND);//只读的方式打开Fol.txt,若不存在则创建并设置权限为0777(表示可读可写可执行) fd=open("Fol.txt",O_RDONLY|O_CREAT,0777);

函数原型

格式1 intwrite(int fd, void *buf, int count);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。