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

📄 fseek.c

📁 unix v7是最后一个广泛发布的研究型UNIX版本
💻 C
字号:
/* * Seek for standard library.  Coordinates with buffering. */#include	<stdio.h>long lseek();fseek(iop, offset, ptrname)	register FILE *iop;	long offset;{	register int c;	long p;	iop->_flag &= ~_IOEOF;	if (iop->_flag & _IOREAD) {		if (ptrname < 2 && iop->_base && !(iop->_flag&_IONBF)) {			c = iop->_cnt;			p = offset;			if (ptrname == 0)				p += c - lseek(fileno(iop), 0L, 1);			else				offset -= c;			if (!(iop->_flag&_IORW) && c > 0 && p <= c			    && p >= iop->_base - iop->_ptr){				iop->_ptr += (int) p;				iop->_cnt -= (int) p;				return(0);			}		}		if (iop->_flag & _IORW) {			iop->_ptr = iop->_base;			iop->_flag &= ~_IOREAD;		}		p = lseek(fileno(iop), offset, ptrname);		iop->_cnt = 0;	} else if(iop->_flag & (_IOWRT|_IORW)) {		fflush(iop);		if (iop->_flag & _IORW) {			iop->_cnt = 0;			iop->_flag &= ~_IOWRT;			iop->_ptr = iop->_base;		}		p = lseek(fileno(iop), offset, ptrname);	}	return(p==-1? -1: 0);}

⌨️ 快捷键说明

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