.\" Copyright (c) 1990, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fclose.3 6.7 (Berkeley) 6/29/91 .\" .\" Converted for Linux, Mon Nov 29 15:19:14 1993, faith@cs.unc.edu .\" .\" Modified 2000-07-22 by Nicol??s Lichtmaier .\" .TH FCLOSE 3 1993-11-29 "BSD MANPAGE" "Linux Programmer's Manual" .SH NAME fclose \- 關閉流 .SH "SYNOPSIS 總覽" .B #include .sp .BI "int fclose(FILE *" stream ); .SH "DESCRIPTION 描述" 函式 .B fclose 將名為 .I stream 的流與它底層關聯的檔案或功能集合斷開。如果流曾用作輸出,任何緩衝的資料都將首先被寫入,使用 .BR fflush (3) 。 .SH "RETURN VALUE 返回值" 成功執行返回 0,否則返回 .B EOF 並設定全域性變數 .I errno 來指示錯誤發生。任何一種情況下,對流再進行存取 (包括再次呼叫 .BR fclose "())" 都會帶來未定義的結果。 .SH ERRORS .TP .B EBADF .I stream 底層的檔案描述符是無效的。 .\" This error cannot occur unless you are mixing ANSI C stdio operations and .\" low-level file operations on the same stream. If you do get this error, .\" you must have closed the stream's low-level file descriptor using .\" something like close(fileno(fp)). .PP 函式 .B fclose 也可能失敗並置 .I errno 為 .BR close (2), .BR write (2) 或 .BR fflush (3) 指定的值。 .SH "NOTES 要點" 注意 .B fclose 僅僅重新整理使用者空間的由 C 庫提供的緩衝。要保證資料被物理地儲存到磁碟上,必須也重新整理核心緩衝。例如,使用 .BR sync (2) 或 .BR fsync (2). .SH "CONFORMING TO 標準參考" 函式 .B fclose 遵循 ANSI X3.159-1989 (``ANSI C'') 標準。 .SH "SEE ALSO 參見" .BR close (2), .BR fcloseall (3), .BR fflush (3), .BR fopen (3), .BR setbuf (3) .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR