关于输入输出流的操作问题
如果说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。
请教各位网友,是什么原因呢?该如何测试?







