当前位置:   article > 正文

C语言之fileno()函数_c语言fileno

c语言fileno

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

  1. <span style="font-size:18px;">#include <sys/types.h>
  2. #include <sys/stat.h>
  3. #include <fcntl.h>
  4. int open(const char *pathname, int flags);
  5. int open(const char *pathname, int flags, mode_t mode);</span>

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

  1. <span style="font-size:18px;">#include <stdio.h>
  2. FILE *fopen(const char *path, const char *mode);
  3. FILE *fdopen(int fd, const char *mode);
  4. FILE *freopen(const char *path, const char *mode, FILE *stream);</span>


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

  1. <span style="font-size:18px;">#include <stdio.h>
  2. void clearerr(FILE *stream);
  3. int feof(FILE *stream);
  4. int ferror(FILE *stream);
  5. int fileno(FILE *stream);</span>


举例说明:

  1. <span style="font-size:18px;">#include <stdio.h>
  2. int main(int argc, char **argv)
  3. {
  4. FILE * fp;
  5. int fd;
  6. fp = fopen("/etc/passwd", "r");
  7. fd = fileno(fp);
  8. printf("fd=%d\n", fd);
  9. fclose(fp);
  10. return 0;
  11. }</span>

linux中的系统函数是open,fopen是其封装函数,个人观点。

open和fopen的区别参考这篇文

章:http://blog.csdn.net/qq_21792169/article/details/50160857


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/462651
推荐阅读
相关标签
  

闽ICP备14008679号