fdopen()和fileno()函数
2013-09-09 16:52
134 查看
转:http://book.2cto.com/201212/11763.html
文件描述字函数是流函数的初等函数,每一个流都与一个描述字相连。给定一个打开的文件描述字,可以用fdopen()函数为它创建一个流。反过来,已知一个流,也可以用fileno()函数得到它的文件描述字。
#include <stdio.h>
FILE *fdopen (int filedes, const char * opentype);
int fileno (file * stream);
fdopen()使描述字filedes与一个流相连。它的返回值是一个新的流,如果不能创建此流,则返回空指针。
参数opentype的取值与fopen()的opentype参数完全相同,但“w”和“w+”不导致文件截断,因为截断是文件打开时的动作,而在此情形下,文件已经被打开。注意,调用fdopen()时必须保证opentype参数与打开文件描述字时使用的opentype参数一致。
fdopen()建立的新流的文件位置与描述字filedes的文件位置相同,且流的错误指示器和文件结束指示器均被清除。fdopen()的实质是为已打开的文件描述字提供标准I/O缓冲。
fileno()函数返回与流stream相连的文件描述字。利用它可以确定流的底层文件描述字。例如,当调用dup()或fcntl()时就需要知道与流相连的文件描述字。
文件描述字函数是流函数的初等函数,每一个流都与一个描述字相连。给定一个打开的文件描述字,可以用fdopen()函数为它创建一个流。反过来,已知一个流,也可以用fileno()函数得到它的文件描述字。
#include <stdio.h>
FILE *fdopen (int filedes, const char * opentype);
int fileno (file * stream);
fdopen()使描述字filedes与一个流相连。它的返回值是一个新的流,如果不能创建此流,则返回空指针。
参数opentype的取值与fopen()的opentype参数完全相同,但“w”和“w+”不导致文件截断,因为截断是文件打开时的动作,而在此情形下,文件已经被打开。注意,调用fdopen()时必须保证opentype参数与打开文件描述字时使用的opentype参数一致。
fdopen()建立的新流的文件位置与描述字filedes的文件位置相同,且流的错误指示器和文件结束指示器均被清除。fdopen()的实质是为已打开的文件描述字提供标准I/O缓冲。
fileno()函数返回与流stream相连的文件描述字。利用它可以确定流的底层文件描述字。例如,当调用dup()或fcntl()时就需要知道与流相连的文件描述字。
相关文章推荐
- 标准输入输出服从规则和fileno,freopen,fdopen,ftell,fseek,rewind几个函数
- 3.5 fdopen()和fileno()函数 http://book.2cto.com/201212/11763.html
- fdopen()和fileno()函数
- 函数说明(fileno)
- linux中fileno函数与ftruncate函数解析
- 【转】fileno函数与ftruncate函数
- fileno函数
- fileno函数与ftruncate函数
- fileno函数与ftruncate函数
- 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
- 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
- fileno()函数
- fileno函数
- static int getch(void)函数中的if(!isatty(STDIN_FILENO)详解
- C语言之fileno()函数
- fileno函数与ftruncate函数
- linux---fdopen函数的理解
- 函数fileno的学习
- fileno函数与ftruncate函数
- fileno()函数