词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。