zoukankan      html  css  js  c++  java
  • C语言之fileno()函数--获取已经打开的文件的文件描述符(小技巧)

    open函数相关的:  /* open 是系统调用 返回的是文件句柄*/

    #include <sys/stat.h>  
    #include <fcntl.h>  
      
    int open(const char *pathname, int flags);  
    int open(const char *pathname, int flags, mode_t mode);
    

      

    fopen函数相关的:   /* open是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api  */

    FILE *fopen(const char *path, const char *mode);  
      
    FILE *fdopen(int fd, const char *mode);  
      
    FILE *freopen(const char *path, const char *mode, FILE *stream);
    

      

    函数说明:fileno()用来取得参数stream 指定的文件流所使用的文件描述词.

    void clearerr(FILE *stream);  
      
    int feof(FILE *stream);  
      
    int ferror(FILE *stream);  
      
    int fileno(FILE *stream);
    

      

    实例:

    #include <stdio.h>  
      
    int main(int argc, char **argv)  
      
    {  
        FILE * fp;  
        int fd;  
        fp = fopen("/etc/passwd", "r");  
        fd = fileno(fp);  
        //等价于
      //fd=open("etc/passwd",RD_ONLY);
        printf("fd=%d
    ", fd);  
        fclose(fp);  
        return 0;  
    }
    

      

      

  • 相关阅读:
    var 和 let 的区别
    js初步认识变量
    弹性布局
    盒模型
    多重样式优先级深入概念
    层叠机制--比较特殊性
    anroid抓包工具tcpdump的用法
    linux find grep组合使用
    Protect Broadcast 保护广播
    android:exported 属性详解
  • 原文地址:https://www.cnblogs.com/cthon/p/9125575.html
Copyright © 2011-2022 走看看