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

📄 fseek.c

📁 操作系统源代码
💻 C
字号:
/* * fseek.c - perform an fseek *//* $Header: fseek.c,v 1.4 90/01/22 11:12:00 eck Exp $ */#include	<stdio.h>#if	(SEEK_CUR != 1) || (SEEK_END != 2) || (SEEK_SET != 0)#error SEEK_* values are wrong#endif#include	"loc_incl.h"#include	<sys/types.h>off_t _lseek(int fildes, off_t offset, int whence);intfseek(FILE *stream, long int offset, int whence){	int adjust = 0;	long pos;	stream->_flags &= ~(_IOEOF | _IOERR);	/* Clear both the end of file and error flags */	if (io_testflag(stream, _IOREADING)) {		if (whence == SEEK_CUR		    && stream->_buf		    && !io_testflag(stream,_IONBF))			adjust = stream->_count;		stream->_count = 0;	} else if (io_testflag(stream,_IOWRITING)) {		fflush(stream);	} else	/* neither reading nor writing. The buffer must be empty */		/* EMPTY */ ;	pos = _lseek(fileno(stream), offset - adjust, whence);	if (io_testflag(stream, _IOREAD) && io_testflag(stream, _IOWRITE))		stream->_flags &= ~(_IOREADING | _IOWRITING);	stream->_ptr = stream->_buf;	return ((pos == -1) ? -1 : 0);}

⌨️ 快捷键说明

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