c/c++实现隐藏密码

1. 我们在平常输入密码是,不能直接显示密码,应该显示*或者其它字符。

void inputPwd(char *pwd,int length)
{
	char ch; // 用来存储getch()都进来的字符
	int i = 0;

	while (1)
	{
		ch = getch(); /*这个函数可以实现输入不回显(输入不在终端显示)*/

		if (ch == '\r')  /*密码输入结束输入回车(getch回车符返回\r,不同接口返回的不同)*/
		{
			pwd[i] = '\0'; /*将字符数组最后一位设置为0,作为字符串方便操作*/
			break;
		}
		/*不将换行放到pwd中,所以放在判断的下面*/
		pwd[i++] = ch; /*将得到的字符放到字符数组中*/

		cout << '*';  /*每保存一个字符打印一个*/
	}

}

以上的接口, 实现了当我们输入密码是显示*,实现密码的隐藏。

1) 使用getch()输入字符, 它不会将输入回显到屏幕上。

2) 当我们输入密码结束时,一般会输入一个换行,所以我们以换行作为密码输入的结束

3) 密码是一个字符串,但是getch()每次得到一个字符,所以需要一个循环,而且我们需要准备一个数      组来存放输入的多个字符,组合成密码。(就是代码中的pwd)

你可能感兴趣的:(c++,c语言,学习)