setbuf.c

来自「标准c库代码,可以应用于各个系统提供了大量的基本函数」· C语言 代码 · 共 80 行

C
80
字号
/* * Copyright (c) 1990 The Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley.  The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. *//*FUNCTION<<setbuf>>---specify full buffering for a file or streamINDEX	setbufANSI_SYNOPSIS	#include <stdio.h>	void setbuf(FILE *<[fp]>, char *<[buf]>);TRAD_SYNOPSIS	#include <stdio.h>	void setbuf(<[fp]>, <[buf]>)	FILE *<[fp]>;	char *<[buf]>;DESCRIPTION<<setbuf>> specifies that output to the file or stream identified by <[fp]>should be fully buffered.  All output for this file will go to abuffer (of size <<BUFSIZ>>, specified in `<<stdio.h>>').  Output willbe passed on to the host system only when the buffer is full, or whenan input operation intervenes.You may, if you wish, supply your own buffer by passing a pointer toit as the argument <[buf]>.  It must have size <<BUFSIZ>>.  You canalso use <<NULL>> as the value of <[buf]>, to signal that the<<setbuf>> function is to allocate the buffer.WARNINGSYou may only use <<setbuf>> before performing any file operation otherthan opening the file.If you supply a non-null <[buf]>, you must ensure that the associatedstorage continues to be available until you close the streamidentified by <[fp]>.RETURNS<<setbuf>> does not return a result.PORTABILITYBoth ANSI C and the System V Interface Definition (Issue 2) require<<setbuf>>.  However, they differ on the meaning of a <<NULL>> bufferpointer: the SVID issue 2 specification says that a <<NULL>> bufferpointer requests unbuffered output.  For maximum portability, avoid<<NULL>> buffer pointers.Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,<<lseek>>, <<read>>, <<sbrk>>, <<write>>.*/#include <_ansi.h>#include <stdio.h>#include "local.h"void_DEFUN (setbuf, (fp, buf),	FILE * fp _AND	char *buf){  (void) setvbuf (fp, buf, buf ? _IOFBF : _IONBF, BUFSIZ);}

⌨️ 快捷键说明

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