什么是文件的内容psented重新

什么是文件的内容psented重新

本文介绍了什么是文件的内容psented重新$ P $ *的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个计划。

 的#include<&stdio.h中GT;
#包括LT&;&unistd.h中GT;
#包括LT&; SYS / socket.h中>
#包括LT&;&fcntl.h GT;INT主要(无效)
{
    FILE * F =的fopen(/用户/用户/ a.cc,RB);
    的printf(%I \\ N,F); // 1976385616
    的printf(%I \\ N,* F); // 1976385768    INT的sockfd =插座(AF_UNIX,SOCK_STREAM,0);
    的printf(%I \\ N的sockfd); // 4    FCLOSE(F);
    接近(的sockfd);    INT FD =打开(/用户/用户/ a.cc,O_TRUNC | O_WRONLY,0);
    的printf(%I \\ N(INT)FD); // 3
    关闭(FD);
}

我知道 3 4 重新presents 0,1,2作为文件描述符分别为标准输入标准输出标准错误。显然的fopen 不使用文件描述符。

这是什么 FILE * 重新present的价值?如何的fopen 如果不与文件描述符?


解决方案

It is a pointer to FILE structure, for glibc its definition is here. Which, among other things, contains the file descriptor. You can get the file descriptor from FILE* using POSIX fileno function.

For more details you may like having a look into Interaction of File Descriptors and Standard I/O Streams.

这篇关于什么是文件的内容psented重新$ P $ *的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 08:19