另外参见

fflush(3),setbuf(3),stdio_ext(3)

语法

/* unsupported */
#include <stdio.h>

int fpurge(FILE *stream);

/* supported */
#include <stdio.h>
#include <stdio_ext.h>

void  __fpurge(FILE *stream);

备注

通常,想要丢弃输入缓冲区是一个错误。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
__fpurge()Thread safetyMT-Safe race:stream

名称

fpurge,__ fpurge-清除流

遵循规范

这些功能是非标准且不可移植的。函数fpurge()在4.4BSD中引入,在Linux下不可用。函数__fpurge()是Solaris引入的,它存在于glibc 2.1.95及更高版本中。

FPURGE - Linux手册页

Linux程序员手册 第3部分
更新日期: 2017-09-15

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

错误说明

EBADF
流不是开放流。

返回值

成功完成后,fpurge()返回0。出错时,它返回-1并适当地设置errno。

说明

函数fpurge()清除给定流的缓冲区。对于输出流,这将丢弃所有未写入的输出。对于输入流,这会丢弃从底层对象读取但尚未通过getc(3)获得的任何输入;这包括通过ungetc(3)推回的所有文本。另请参见fflush(3)。

函数__fpurge()的功能完全相同,但不返回值。

日期:2019-08-20 18:00:21 来源:oir作者:oir