[Linux] Linux文件编程 1.1 文件打开及创建

该内容较多,包含了文件系统原理及访问机制文件在内核中的管理机制文件信息节点inode文件共享文件权限……

按照实际的应用场景:账单、游戏进度、配置文件……

Windows手动编写文档:打开/创建文档\rightarrow编辑文档\rightarrow保存文档\rightarrow关闭文档

Linux系统提供了一系列API:

打开        open                      读写        write/read                       

光标定位lseek                        关闭        close

打开/创建文件

头文件:

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

OPEN函数原型: 

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

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

int creat(const char *pathname,mode_t mode)

pathname:文件名(路径)

flags:权限

O_RDONLY 只读打开        O_WRONLY 只写打开        O_RDWR 可读可写

三个只能指定一个,当我们附带了以上权限,打开的文件就只能按照上述权限操作

下列常数是可选的:

O_CREAT 若文件不存在则创建它,使用该选项需要说明第三个参数mode,说明该文件的存储权限

O_EXCL 如果同时指定了CREAT,且文件存在,则出错

O_APPEND 每次写时加到文件尾端

O_TRUNC 属性去打开文件时,如果文件中本来是有内容的,而且为只读或只写成功打开,将其长度截短为0

Mode:一定是在flags使用了O_CREAT标志,mode记录待创建的文件的访问权限

Linux用open函数打开文件,下一步write(写)read(读)文件时,就要通过open()返回值,也就是文件描述符确定要操作的特定文件。

每个进程打开一个文件时,都会建立一个结构体来管理文件,文件描述符在结构体中起到索引的作用。

 

文件权限:

1.可读        r        4

2.可写        w        2

3.执行        x        1

0600:6:4+2对应可读和可写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值