zoukankan      html  css  js  c++  java
  • 文件描述符

    0x01

      《从实践中学嵌入式Linux应用程序开发》一书中关于文件描述符的内容:

        内核如何区分和引用特定的文件呢?这里用到一个重要的概念——文件描述符。对于Linux而言,所有对设备和文件的操作都是使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向在内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。

    0x02

      看某教程中关于文件描述符:

        在Linux系统中,所有打开的文件都对应一个文件描述符。文件描述符的本质是一个非负整数。当打开一个文件时,该整数由系统来分配。文件描述符的范围是0 - OPEN_MAX。

    0x03

      根据上面的描述,我们得到:当打开文件或创建文件时,才会返回文件描述符。

    0x04

      自己的胡思乱想:操作文件时,为什么非得先使用open()函数打开相应的文件?

        出现这个想法是因为自己对于文件操作的函数都掌握的不好。文件操作函数,无论是关闭close()、读read()、写write()、还是偏移lseek(),都需要传入的参数是fd,文件描述符。而文件描述符只能是打开或者创建文件时才能获得到。所以必须先使用open()函数打开文件,然后才能对文件进行操作。

  • 相关阅读:
    入门菜鸟
    FZU 1202
    XMU 1246
    Codeforces 294E Shaass the Great 树形dp
    Codeforces 773D Perishable Roads 最短路 (看题解)
    Codeforces 814E An unavoidable detour for home dp
    Codeforces 567E President and Roads 最短路 + tarjan求桥
    Codeforces 567F Mausoleum dp
    Codeforces 908G New Year and Original Order 数位dp
    Codeforces 813D Two Melodies dp
  • 原文地址:https://www.cnblogs.com/mch0dm1n/p/5720919.html
Copyright © 2011-2022 走看看