Nhập mật khẩu cho ứng dụng console Bạn đang thực hiện một ứng dụng Console yêu cầu người dùng phải nhập Password, khi nhập Password thì các ký tự đó phải không được hiển thi ra màn hình
Trang 1Nhập mật khẩu cho ứng dụng console
Bạn đang thực hiện một ứng dụng Console yêu cầu người dùng phải nhập
Password, khi nhập Password thì các ký tự đó phải không được hiển thi ra màn hình (trong Windows Form thì chúng ta thấy các ký tự password được thay thế bằng ký tự * hoặc chấm đen) Trong môi trường Console thì chúng ta phải tự viết một hàm nhập mật khẩu như vậy
Hàm nhập mật khẩu bằng ngôn ngữ C++
#include <iostream>
#include <conio.h>
using namespace std;
void getpassword(char s[], int size)//Nhập mật khẩu dạng dấu *
{
char ch=0;
memset(s,0,size);
fflush(stdin);
while (ch!=13)//ch khác Enter
{
fflush(stdin);
Trang 2ch=getch();
if (ch<=0)
getch();//Loại bỏ kí các tự điều khiển
else if (ch>31 && ch<127)//Các kí tự ASCII in được
{
if (int(strlen(s))<size-1) //Nếu chuỗi chưa đầy
{
cout<<'*';
s[strlen(s)]=ch;
}
}
else if (ch==8)//Xóa một kí tự
if (s[0])//Nếu chuỗi khác rỗng
{
s[strlen(s)-1]=0;//Xoá kí tự cuối cùng của chuỗi
cout<<ch<<' '<<ch;//Xoá một kí tự trước đó trên màn hình }
}
cout<<endl;
fflush(stdin);
Trang 3}
int main()
{
char s[50];
cout<<"Nhap mat khau: ";
getpassword(s,50);
cout<<"Mat khau ban nhap la: "<<s; getch();
}