输入字符不显示出来,但存进字符数组,而且输出*,就象模拟密码输入

来源:百度知道 编辑:UC知道 时间:2024/06/26 04:34:35
说一下方法就可以了
dos下的不可以吗?就象下面的程序
#include<iostream>
using namespace std;
int main()
{
char a[20];
cin>>a;
system("pause");
cout<<a<<endl;
system("pause");
return 0;
}
cin那里如果输入还是显示,一共显示了2次
下面的贴代码看看
可能你误会我的意思
我说的是输入的时候显示*
不知道你怎么实现

你的输入肯定是输入框吧,输入框输入数值存入数组应该很好处理的,没什么好说的,直接把输入内容赋给字符串也行,或放入数组。让输入的字符显示*号,可以用文本框的setEchoChar('*')方法。

//密文输入
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
char A[100];
int i = 0;
char ch;
while( (ch = getch()) != 13 )
{

if( ch != 8 )
{
cout << "*";
A[i++] = ch;
A[i] = '\0';
}
else
{
cout << "\b" << " " << '\b';//退格,将要删除的*用空格覆盖,并再次退格
A[--i] = '\0';
}
}
cout << endl;
cout << A << endl;
}

意会错个咯.嘿嘿
这样讲吧,要完成你说的这个功能,就不是用cin可以解决了,cin输入流内定就是你使用的那个样子,在屏上打出字符,再将你输入的存入变量中.
你要完成的功能,需要跳过cin,直接用到键盘捕捉了,这个我也没学到...哈哈