setvbuf.c

来自「su 的源代码库」· C语言 代码 · 共 42 行

C
42
字号
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include	"sfstdio.h"/*	Change buffer and set/unset line buffering.**	Written by Kiem-Phong Vo*/#if __STD_Cint setvbuf(reg FILE* f, char* buf, int flags, size_t size)#elseint setvbuf(f, buf, flags, size)reg FILE*	f;char*		buf;int		flags;size_t		size;#endif{	reg Sfio_t*	sf;	if(!(sf = _sfstream(f)))		return -1;	if(flags == _IOLBF)		sfset(sf,SF_LINE,1);	else if(flags == _IONBF)	{	sfsync(sf);		sfsetbuf(sf,NIL(Void_t*),0);		sfset(sf,SF_LINE,0);	}	else if(flags == _IOFBF)	{	if(size == 0)			size = BUFSIZ;		sfsync(sf);		sfsetbuf(sf,buf,size);		sfset(sf,SF_LINE,0);	}	return 0;}

⌨️ 快捷键说明

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