关于流和控制台的问题
流和控制台两个概念我一直分不大清楚,请高手讲讲区别,下面这段代码 是关于getchar()和getch()的用法,我知道getchar是从流读取数据,getch是从控制台读取,但是不回显。getche回显。getche也是从控制台读取。
在一个关于循环控制的代码中,getchar可以用'\n'来作为循环结束的控制符,但是用getch或者getche就不行,不知道是为什么。
(讲的有点多,也不知道讲清楚了没有,请多多关照新手)
下面是代码:
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(int argc, char* argv[])
{
char c;
while ((c=getch())!='\n') //这里用getchar()敲回车就退出循环,OK了,用getche()或者用getch()死活不行
{
printf("%c",c);
_putch(c);
}
printf("\n\n");
return 0;
}
好象清空流也不行