📄 setbuf.c
字号:
/* * 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -