⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdopen.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#if !defined(lint) && defined(SCCSIDS)static	char sccsid[] = "@(#)fdopen.c 1.1 92/07/30 SMI"; /* from S5R2 1.4 */#endif/*LINTLIBRARY*//* * Unix routine to do an "fopen" on file descriptor * The mode has to be repeated because you can't query its * status */#include <stdio.h>#include <sys/errno.h>extern int  errno;extern long lseek();extern FILE *_findiop();FILE *fdopen(fd, mode)int	fd;register char *mode;{	static int nofile = -1;	register FILE *iop;	if(nofile < 0)		nofile = getdtablesize();	if(fd < 0 || fd >= nofile) {		errno = EINVAL;		return(NULL);	}	if((iop = _findiop()) == NULL)		return(NULL);	iop->_cnt = 0;	iop->_file = fd;	iop->_base = iop->_ptr = NULL;	iop->_bufsiz = 0;	switch(*mode) {		case 'r':			iop->_flag = _IOREAD;			break;		case 'a':			(void) lseek(fd, 0L, 2);			/* No break */		case 'w':			iop->_flag = _IOWRT;			break;		default:			errno = EINVAL;			return(NULL);	}	if(mode[1] == '+')		iop->_flag = _IORW;	return(iop);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -