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

📄 fdopen.c

📁 操作系统源代码
💻 C
字号:
/* * fdopen - convert a (UNIX) file descriptor into a FILE pointer *//* $Header: fdopen.c,v 1.4 91/02/22 16:32:05 ceriel Exp $ */#include	<stdlib.h>#include	"../stdio/loc_incl.h"#include	<stdio.h>FILE *fdopen(fd, mode)int fd;_CONST char *mode;{	register int i;	FILE *stream;	int flags = 0;	if (fd < 0) return (FILE *)NULL;	for (i = 0; __iotab[i] != 0 ; i++) 		if (i >= FOPEN_MAX-1)			return (FILE *)NULL;	switch(*mode++) {	case 'r':		flags |= _IOREAD | _IOREADING;		break;	case 'a':		flags |= _IOAPPEND;	case 'w':		flags |= _IOWRITE | _IOWRITING;		break;	default:		return (FILE *)NULL;	}	while(*mode) {		switch(*mode++) {		case 'b':			continue;		case '+':			flags |= _IOREAD | _IOWRITE;			continue;		/* The sequence may be followed by aditional characters */		default:			break;		}		break;	}	if ((stream = (FILE *) malloc(sizeof(FILE))) == NULL) {		return (FILE *)NULL;	}	if ((flags & _IOREAD) && (flags & _IOWRITE))		flags &= ~(_IOREADING | _IOWRITING);	stream->_count = 0;	stream->_fd = fd;	stream->_flags = flags;	stream->_buf = NULL;	__iotab[i] = stream;	return stream;}

⌨️ 快捷键说明

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