linux系统调用——文件操作

系统调用方式创建文件 :

int creat(const char *filename,mode_t mode)

filename :要创建的文件名 包含路径,缺省为当前路径

mode : 创建模式

S_IRUSR             可读              >> 4    

S_IWUSR           可写               >> 2

S_IXUSR             可执行           >> 1

S_IRWXU           可读 写 执行  >>

             无任何权限为 0

文件描述符本质是一个非负整数  有效值为0-OPEN_MAX


打开文件

        int open(const cahr* pathname,int flags)

        int open(const cahr* pathname,int flags,mode_t mode)


pathname:   要打开的文件名 包含路径,缺省为当前路径


flags:     打开 标志

O_RDONLY     只读凡是打开

O_WRONLY   只写方式打开

O_RDWR         读写方式打开

O_APPEND      追加方式打开

O_CREAT         创建一个文件

O_NOBLOCK   非阻塞方式打开

如果使用了 O_CREAT 标志则使用 int open(const cahr* pathname,int flags,mode_tmode) 函数 指定mode来表示文件访问权限。


int read(int fd,const void*buf,size_t length)

从文件描述符fd指定的文件中读取length个字节到buf指向的缓冲区中,返回值为实际读取的字节数。


int write(int fd,const void*buf,size_t length)


int Iseek(int fd,offset_t offset ,int whence)

将文件读写指针相对whence移动offset个字节,成功返回文件指针相对于文件头的位置。

whence   :      SEEK_SET       相对文件开头

SEEK_CUR      相对于当前位置

SEEK_END       相对文件末尾

offset 为负值表示向前移动


判断一个文件的属性:

      int access(const char* pathname ,int mode) 

mode: R_OK: 文件可读

W_OK:文件可写

X_OK: 文件可执行

F_OK:文件存在

测试成功时返回0 否则返回-1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值