关于输入输出流的操作问题
如果说getchar()是从标准输入流中读取数据,那么如果我们先将数据写入标准输入流中,getchar()是否能读取到数据呢?程序代码:
#include<stdio.h> #include<string.h> int main(void) { char ch; char re; ch='a'; fputc(ch,stdin); re=getchar(); putchar(re); return 0; }然而,这个测试程序并没有成功,getchar()没有从我们写入stdin中读取到a;
然后将程序改为看起来较为直接的:
程序代码:
#include<stdio.h> #include<string.h> int main(void) { char ch; char re; ch='a'; fputc(ch,stdin); re=getc(stdin); putchar(re); return 0; }然而,一样没有成功。
分析原因大概如下:
1.没有成功将字符a写入标准输入流中。
2.getc或者说getchar函数在调用的时候刷新了stdin。
请教各位网友,是什么原因呢?该如何测试?