VC6 中的getch()问题,急!!!

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:37:12
请高手看下,为什么输入密码的时候不是逐个的显示“*”,而是在敲了回车后一起显示出来???速度快了我会再加50。

#include<iostream.h>
#include<string.h>
#include <stdlib.h>
#include <conio.h>
void main(){
int i;
char p,pass[10];
i=0;
cout<<"请输入密码:"<<endl;;
cout<<"";
while(1){
cout<<"";
p=getch();
if(p=='\r' || i>=10)
break;
pass[i]=p;
cout<<'*';
}
cout<<endl;
pass[++i]='\0';
}

应该改成这样吧
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
void main(){
int i;
char p,pass[10];
i=0;
cout<<"请输入密码:"<<endl;;

while (1)
{
p=getch();
if(p=='\r' || i>=9)
break;
pass[i++]=p;
putchar('*');
}
cout<<endl;
pass[i]='\0';
}