Linux学习笔记----初识Linux----文件操作----文件IO

文件I/O(非缓冲区文件操作)

一、接口
  1. (posix接口文件操作)
    系统调用接口
    Linux下一切皆文件
    中间没有经过缓冲区
    实时性高
    非常安全和快
二、打开关闭

open

  1. 原型:
    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);
    2.头文件:
    (man 2 open)
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>

  2. 参数
    pathname : 要打开文件的路径(相对路径、绝对路径)
    flag:(动作标志)

    • O_RDONLY 读
    • O_WRONLY 写
    • O_RDWR 读写
    • O_CREAT 没有就创建 有就访问
    • O_EXCL 和O_CREAT连用如果有返回错误
    • O_TRUNC 将文件截取为0
    • O_APPEND 追加的方式打开
  3. mode(权限):当第二个参数有O_CREAT,表示创建文件的时候给定文件的权限

  4. 返回值:
    成功:
    返回:文件描述符
    失败: -1

close
5. 原型:void close(int fd);
6. 功能:关闭一个打开的文件
7. 头文件:#include <unistd.h>

三、读写操作

read

  1. 原型:ssize_t read(int fd, void *buf, size_t count);
  2. 头文件:#include <unistd.h>
  3. 功能:读文件内容到buf
  4. 参数:
    fd:要读文件的路径(相对路径、绝对路径)
    buf要读入的缓冲区, 提前申请好的
    count要读入的字节数
    5.返回值:
    成功:
    返回:实际读写的字节数
    失败: -1
四、指针定位(lseek)
  1. 原型:off_t lseek(int fd, off_t offset, int whence);
  2. 功能:调整或得到文件当前读写的位置
  3. 头文件:
    #include <unistd.h>
    #include <sys/types.h>
  4. 参数:
    fp 用open打开的文件描述符
    offset:想要调整的文件读写位置的相对偏移 负数向左移动 正数向右移动
    whence:
    调整文件读写位置的基准。
    SEEK_SET:当前位置为文件的开头
    SEEK_CUR:当前位置为文件指针的位置
    SEEK_END:当前位置为文件的结尾
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值