vc++ 的getch()的使用问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 07:59:34
char p[5]={'1','2','3','4','5'};
char pass[5];
for (int i=0;i<5;++i)
{
pass[i]=getch();
cout<<"*"<<flush;
}
cout<<p<<endl<<pass;
//当输入的pass为12345时 。输出的结果p和pass为什麽不一样;
当把cout<<"*"<<flush; 改成putch('*');是同样效果,
该咋解决啊 !!

少了个结尾符'\0',试试这样看看

char p[6]={'1','2','3','4','5', '\0'};
char pass[6];
for (int i=0;i<5;++i)
{
pass[i]=getch();
cout<<"*"<<flush;
}
pass[5] = '\0';
cout<<p<<endl<<pass;

因为你把getch()和cout一起用了
这两个不要在一个程序里面出现...不然会发生不可预知错误!