⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12.html

📁 linux下一些常用的C函数的说明和例子
💻 HTML
📖 第 1 页 / 共 5 页
字号:
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 附加说明 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> link()所建立的硬连接无法跨越不同文件系统,如果需要请改用symlink()。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> EXDEV 参数oldpath与newpath不是建立在同一文件系统。<br>
      EPERM 参数oldpath与newpath所指的文件系统不支持硬连接<br>
      EROFS 文件存在于只读文件系统内<br>
      EFAULT 参数oldpath或newpath 指针超出可存取内存空间。<br>
      ENAMETOLLONG 参数oldpath或newpath太长<br>
      ENOMEM 核心内存不足<br>
      EEXIST 参数newpath所指的文件名已存在。<br>
      EMLINK 参数oldpath所指的文件已达最大连接数目。<br>
      ELOOP 参数pathname有过多符号连接问题<br>
      ENOSPC 文件系统的剩余空间不足。<br>
      EIO I/O 存取错误。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 范例 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> /* 建立/etc/passwd 的硬连接为pass */<br>
      #include&lt;unistd.h&gt;<br>
      main()<br>
      {<br>
      link(“/etc/passwd”,”pass”);<br>
      }<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top">  
      <div align="right"><br>
        <font face='宋体' size='2'><a name=linuxc225></a></font> </div>
    </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> <br>
        </font> </div>
    </td>
    <td> <font face='宋体' size='2'> <br>
      lstat(由文件描述词取得文件状态) </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> stat,fstat,chmod,chown,readlink,utime<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> #include&lt;sys/stat.h&gt;<br>
      #include&lt;unistd.h&gt;<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> int lstat (const char * file_name.struct stat 
      * buf);<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> lstat()与stat()作用完全相同,都是取得参数file_name所指的文件状态,其差别在于,当文件为符号连接时,lstat()会返回该link本身的状态。详细内容请参考stat()。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> 执行成功则返回0,失败返回-1,错误代码存于errno。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 范例 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> 参考stat()。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top">  
      <div align="right"><br>
        <font face='宋体' size='2'><a name=linuxc226></a></font> </div>
    </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> <br>
        </font> </div>
    </td>
    <td> <font face='宋体' size='2'> <br>
      opendir(打开目录) </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> open,readdir,closedir,rewinddir,seekdir,telldir,scandir<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> #include&lt;sys/types.h&gt;<br>
      #include&lt;dirent.h&gt;<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> DIR * opendir(const char * name);<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> opendir()用来打开参数name指定的目录,并返回DIR*形态的目录流,和open()类似,接下来对目录的读取和搜索都要使用此返回值。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> 成功则返回DIR* 型态的目录流,打开失败则返回NULL。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> EACCESS 权限不足<br>
      EMFILE 已达到进程可同时打开的文件数上限。<br>
      ENFILE 已达到系统可同时打开的文件数上限。<br>
      ENOTDIR 参数name非真正的目录<br>
      ENOENT 参数name 指定的目录不存在,或是参数name 为一空字符串。<br>
      ENOMEM 核心内存不足。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top">  
      <div align="right"><br>
        <font face='宋体' size='2'><a name=linuxc227></a></font> </div>
    </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> <br>
        </font> </div>
    </td>
    <td> <font face='宋体' size='2'> <br>
      readdir(读取目录) </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> open,opendir,closedir,rewinddir,seekdir,telldir,scandir<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> #include&lt;sys/types.h&gt;<br>
      #include&lt;dirent.h&gt;<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> struct dirent * readdir(DIR * dir);<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> readdir()返回参数dir目录流的下个目录进入点。<br>
      结构dirent定义如下<br>
      struct dirent<br>
      {<br>
      ino_t d_ino;<br>
      ff_t d_off;<br>
      signed short int d_reclen;<br>
      unsigned char d_type;<br>
      har d_name[256;<br>
      };<br>
      d_ino 此目录进入点的inode<br>
      d_off 目录文件开头至此目录进入点的位移<br>
      d_reclen _name的长度,不包含NULL字符<br>
      d_type d_name 所指的文件类型<br>
      d_name 文件名<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> 成功则返回下个目录进入点。有错误发生或读取到目录文件尾则返回NULL。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 附加说明 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> EBADF参数dir为无效的目录流。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 范例 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> #include&lt;sys/types.h&gt;<br>
      #include&lt;dirent.h&gt;<br>
      #include&lt;unistd.h&gt;<br>
      main()<br>
      {<br>
      DIR * dir;<br>
      struct dirent * ptr;<br>
      int i;<br>
      dir =opendir(“/etc/rc.d”);<br>
      while((ptr = readdir(dir))!=NULL)<br>
      {<br>
      printf(“d_name: %s\n”,ptr-&gt;d_name);<br>
      }<br>
      closedir(dir);<br>
      }<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 执行 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> d_name:.<br>
      d_name:..<br>
      d_name:init.d<br>
      d_name:rc0.d<br>
      d_name:rc1.d<br>
      d_name:rc2.d<br>
      d_name:rc3.d<br>
      d_name:rc4.d<br>
      d_name:rc5.d<br>
      d_name:rc6.d<br>
      d_name:rc<br>
      d_name:rc.local<br>
      d_name:rc.sysinit<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top">  
      <div align="right"><br>
        <font face='宋体' size='2'><a name=linuxc228></a></font> </div>
    </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> <br>
        </font> </div>
    </td>
    <td> <font face='宋体' size='2'> <br>
      readlink(取得符号连接所指的文件) </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> stat,lstat,symlink<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 表头文件 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> #include&lt;unistd.h&gt;<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 定义函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> int readlink(const char * path ,char * buf,size_t 
      bufsiz);<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 函数说明 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> readlink()会将参数path的符号连接内容存到参数buf所指的内存空间,返回的内容不是以NULL作字符串结尾,但会将字符串的字符数返回。若参数bufsiz小于符号连接的内容长度,过长的内容会被截断。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 返回值 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> 执行成功则传符号连接所指的文件路径字符串,失败则返回-1,错误代码存于errno。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 错误代码 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> EACCESS 取文件时被拒绝,权限不够<br>
      EINVAL 参数bufsiz 为负数<br>
      EIO I/O 存取错误。<br>
      ELOOP 欲打开的文件有过多符号连接问题。<br>
      ENAMETOOLONG 参数path的路径名称太长<br>
      ENOENT 参数path所指定的文件不存在<br>
      ENOMEM 核心内存不足<br>
      ENOTDIR 参数path路径中的目录存在但却非真正的目录。<br>
      </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top">  
      <div align="right"><br>
        <font face='宋体' size='2'><a name=linuxc229></a></font> </div>
    </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> <br>
        </font> </div>
    </td>
    <td> <font face='宋体' size='2'> <br>
      remove(删除文件) </font> </td>
  </tr>
  <tr> 
    <td width="80" valign="top"> 
      <div align="right"><font face='宋体' size='2'> 相关函数 </font> </div>
    </td>
    <td> <font face='宋体' size='2'> link,rename,unlink<br>
      </font> </td>
  </tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -