zoukankan      html  css  js  c++  java
  • APUE学习(一)

    APUE       Adavance Programming in the UNIX Environment

    初看了下中文版,感觉内容少了些,且翻译的也不敢恭维。。。还是老老实实看英文版吧。 

    头两章是比较初略的介绍 。其中第一章是对全文内容的一个略观。而第二章主要介绍几种标准及其联系与区别。因此打算从第三章开始写。

    文件相关的操作大部分可由5个函数描述:open,read,write,lseek,close (现在比较热的分布式文件系统用的最多也是这几个) 

           int open(const char *pathname, int oflag, ...)     这里oflag分两类,一种是必须要的,如O_RDONLY 、O_WRONLY、O_RDWR  (fcntl.h)。另一种是可选的O_APPEND、O_CREAT、O_EXCL(和O_CREAT一同使用,测试文件是否存在用)、O_TRUNC(O_WRONLY、O_RDWR才可起作用)、O_NOCTTY(不把终端设备作为控制终端)、O_NONBLOCK(对FIFO、特殊块文件、特殊字符文件),O_SYNC(O_FSYNC), 另外几个不常见的O_DSYNC、O_RSYNC

    open操作返回的是最小的未用的文件描述符。

            int creat(const char *pathname, mode_t mode);         等价于open (pathname, O_WRONLY | O_CREAT | O_TRUNC, mode); 现在用的较少

        

            当一进程结束,所有打开的文件会自动被内核关闭        int close(int filedes);


            off_t lseek(int filedes, off_t offset, int whence);           (unistd.h) 当文件打开时默认偏移值是0

            whence有三种选择SEEK_SET、SEEK_CUR、SEEK_END,后两种情况下offset可为负值。

            FIFO、SOCKET、PIPE文件不可LSEEK                          任何文件如果还没被写就被读回值为1(lseek可以使文件产生一个空洞)

            _FILE_OFFSET_BITS可避免使用getconf

  • 相关阅读:
    游标
    mobaxterm安装与使用(root_35/37/36/121)
    美团笔试--修改矩阵
    美团笔试1--螺旋矩阵
    assert函数
    2019年头条笔试--围坐分糖果
    邻值查找——stl函数lower_bound和upper_bound的使用
    动态规划练习1--腾讯暑期实习正式批
    Windows 7下硬盘安装CentOS6.4的解决方法
    Sublime Text 3 的一些基本使用方法和配置
  • 原文地址:https://www.cnblogs.com/westwind/p/1812095.html
Copyright © 2011-2022 走看看