请输入您要查询的百科知识:

 

词条 fileno
释义

函数简介

函数名称:fileno(在VC++6.0下为_fileno)

函数原型:int _fileno( FILE *stream );

函数功能:fileno()用来取得参数stream指定的文件流所使用的文件描述符

返回值:某个数据流的文件句柄

头文件:stdio.h

相关函数:open,fopen,fclose

程序示例

先看MSDN上的例子:

#include <stdio.h>

int main( void )

{

printf( "The file descriptor for stdin is %d\", _fileno( stdin ) );

printf( "The file descriptor for stdout is %d\", _fileno( stdout ) );

printf( "The file descriptor for stderr is %d\", _fileno( stderr ) );

}

输出:

The file descriptor for stdin is 0 The file descriptor for stdout is 1The file descriptor for stderr is 2程序示例2 #include <stdio.h>

int main(void)

{

FILE *fp;

int fd;

fp = fopen("/etc/passwd", "r");

fd = fileno(fp);

printf("fd = %d\", fd);

fclose(fp);

return 0;

}

fileno函数的实现

#define fileno(__p) ((__p)->_file)

因为FILE 结构体定义为

类似

typedef struct {

unsigned char *_ptr;

int _cnt;

unsigned char *_base;

unsigned char *_bufendp;

short _flag;

short _file;

int __stdioid;

char *__newbase;

void *_lock;

} FILE;

其中 _file就是文件描述符。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 3:46:01