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

  • 相关阅读:
    USB无线网卡导致耳机电流声很大
    知乎广告太多怎么办?
    网络机顶盒固件提取、编辑和打包
    GOOGLE机器学习速成班
    windows xp版本的chrome浏览器去哪里下载呢?
    [转载]HTTP无状态是什么意思?
    [转载]HTTP的无状态是什么意思?
    安卓手机网页打开淘宝总是弹出应用市场
    PLSQL Developer 客户端工具的安装
    VMware虚拟网卡设置问题
  • 原文地址:https://www.cnblogs.com/westwind/p/1812095.html
Copyright © 2011-2022 走看看