根据C语言标准(C99及之后),fflush()只能用于输出流(如stdout),而不能用于输入流(如stdin)。使用fflush(stdin)是未定义行为,也就是编译器和运行环境可以自由地决定如何处理fflush(stdin),而结果可能因平台而异。 3、fflush(stdin) 会被使用的原因 在某些特定的平台(如一些旧版的Windows编译器),fflush
函数名: fflush 功能: 清除读写缓冲区,需要立即把输出缓冲区的数据进行物理写入时 头文件:stdio.h 原型:int fflush(FILE *stream) 其中stream是要冲洗的流...fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中...如果参数stream 为NULL,fflush()会将所有打开的文件数据更新 fflush(stdin)刷新标准输入...
fflush()的作用是用来刷新缓冲区,fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃;fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西强制打印到标准输出设备上。fflush(stdin)不太常用,在有些编译器中是错误的用法,可以用以下方法替代:whi ...
的行为,对于像stdin这种输入流,这是未定义行为undefined behavior,随便C/C++库怎么去实现都不算错.即使某个C/C++库对fflush(stdin)的处理是删除掉你硬盘上所有文件都没有错.所以你根本不要指望任何未定义行为能在不同平台下有相同的表现. 再来看看linux对fflush(stdin)的说法 代码: man 3 fflush 引用: For in...
fflush() function in C Prototype: int fflush(FILE *filename); Parameters: FILE *filename Return type:0 or EOF Use of function: When we are dealing with file handling, instead of handling the files we handle the streams. There are three types of streamsstdin(standard input),stderr(standard...