zoukankan      html  css  js  c++  java
  • 文件IO-Linux

    pcb:结构体

      一个进程由一个文件描述符表:1024,前三个占用,文件描述符作用,需要磁盘文件。

    1:open、close

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

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

      参数:

        flags:

          必选项O_RDONLY,O_WRONLY,O_RDWR

          可选项:

            I:创建文件:O_CREAT

              创建文件时检测文件是否存在:O_EXCL

              如果文件存在,返回-1

              必须与O_CREAT一起使用

            II:追加文件:O_APPEND

            III:文件截断:O_TRUNC

            IV:设置非阻塞:O_NONBLOCK

         mode:

            mode & ~umash

    2:read

      函数原型:ssize_t read(int fd,void *buf, size_t count)

      参数:fd: open的返回值

         buf 缓冲区 存储要读取的数据

         count:缓冲区能存储的最大字节数 sizeof(buf)

      返回值: 

         -1:失败

         成功:

            >0 :读出的字节数

            =0:文件读完了

    3:write

      函数原型:ssize_t write(int fd, const void* buf, size_t count)

      参数:

        fd:

        buf:

        count:strlen(buf),有效字节数

      返回值:

        -1: 失败

        >0:  写入到文件的字节数

    4:lseek

      函数原型:off_t lseek(int fd, off_t offset, int whence);

    5:阻塞和非阻塞

      阻塞和非阻塞是文件属性还是read函数的属性

      

    作者:长风 Email:844064492@qq.com QQ群:607717453 Git:https://github.com/zhaohu19910409Dz 开源项目:https://github.com/OriginMEK/MEK 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢您的阅读。如果觉得有用的就请各位大神高抬贵手“推荐一下”吧!你的精神支持是博主强大的写作动力。 如果觉得我的博客有意思,欢迎点击首页左上角的“+加关注”按钮关注我!
  • 相关阅读:
    可持久化BCJ
    Codeforces 911 三循环数覆盖问题 逆序对数结论题 栈操作模拟
    找不同
    最接近的三数之和
    找到所有数组中消失的数字
    三数之和
    小程序中的变量
    二叉树的最近公共祖先
    深拷贝和浅拷贝
    下载安装JDK
  • 原文地址:https://www.cnblogs.com/zhaohu/p/8646543.html
Copyright © 2011-2022 走看看