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 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢您的阅读。如果觉得有用的就请各位大神高抬贵手“推荐一下”吧!你的精神支持是博主强大的写作动力。 如果觉得我的博客有意思,欢迎点击首页左上角的“+加关注”按钮关注我!
  • 相关阅读:
    hdu 3790 最短路径问题
    hdu 2112 HDU Today
    最短路问题 以hdu1874为例
    hdu 1690 Bus System Floyd
    hdu 2066 一个人的旅行
    hdu 2680 Choose the best route
    hdu 1596 find the safest road
    hdu 1869 六度分离
    hdu 3339 In Action
    序列化和反序列化
  • 原文地址:https://www.cnblogs.com/zhaohu/p/8646543.html
Copyright © 2011-2022 走看看