fcloseall.c
来自「用于嵌入式Linux系统的标准C的库函数」· C语言 代码 · 共 89 行
C
89 行
/*FUNCTION<<fcloseall>>---close all filesINDEX fcloseallINDEX _fcloseall_rANSI_SYNOPSIS #include <stdio.h> int fcloseall(void); int _fcloseall_r (struct _reent *<[ptr]>);TRAD_SYNOPSIS #include <stdio.h> int fcloseall() int _fcloseall_r (<[ptr]>) struct _reent *<[ptr]>;DESCRIPTION<<fcloseall>> closes all files in the current reentrancy struct's domain.The function <<_fcloseall_r>> is the same function, except the reentrancystruct is passed in as the <[ptr]> argument.This function is not recommended as it closes all streams, includingthe std streams.RETURNS<<fclose>> returns <<0>> if all closes are successful. Otherwise,EOF is returned.PORTABILITY<<fcloseall>> is a glibc extension.Required OS subroutines: <<close>>, <<fstat>>, <<isatty>>, <<lseek>>,<<read>>, <<sbrk>>, <<write>>.*//* This file based upon fwalk.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. */#include <stdio.h>#include <stdlib.h>#include <errno.h>#include "local.h"int_fcloseall_r (ptr) struct _reent *ptr;{ register FILE *fp; register int n, ret = 0; register struct _glue *g; for (g = &ptr->__sglue; g != NULL; g = g->_next) for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) if (fp->_flags != 0) ret |= fclose (fp); return ret;}#ifndef _REENT_ONLYintfcloseall (void){ return _fcloseall_r (_GLOBAL_REENT);}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?