小程序验证用户名密码
Read username and password and check it with the given values (just like, login screen) using C program.
读取用户名和密码,并使用C程序以给定的值(就像登录屏幕一样)对其进行检查。
In this program we will design a login screen to check username and password, password will display as password characters (‘*’) and here backspace key will also work.
在此程序中,我们将设计一个登录屏幕以检查用户名和密码 ,密码将显示为密码字符('*'),在这里退格键也将起作用。
This program in compatible with GCC Linux and TurboC compliers, read the given instruction in the program comments.
该程序与GCC Linux和TurboC编译器兼容,请在程序注释中阅读给定的指令。
在C中验证用户名和密码的程序 (Program for validating username and password in C)
</ s> </ s> </ s>#include <stdio.h>
#include <termios.h> // in gcc, use < conio.h > in turboc
#include <string.h>
#define USERNAME "user001"
#define PASSWORD "[email protected]"
/************************************************
THIS CODE IS USED IN GCC LINUX
because getch() is not defined in library file
************************************************/
static struct termios old, new;
/* Initialize new terminal i/o settings */
void initTermios(int echo)
{
tcgetattr(0, &old); /* grab old terminal i/o settings */
new = old; /* make new settings same as old settings */
new.c_lflag &= ~ICANON; /* disable buffered i/o */
new.c_lflag &= echo ? ECHO : ~ECHO; /* set echo mode */
tcsetattr(0, TCSANOW, &new); /* use these new terminal i/o settings now */
}
/* Restore old terminal i/o settings */
void resetTermios(void)
{
tcsetattr(0, TCSANOW, &old);
}
/* Read 1 character - echo defines echo mode */
char getch_(int echo)
{
char ch;
initTermios(echo);
ch = getchar();
resetTermios();
return ch;
}
/* Read 1 character without echo */
char getch(void)
{
return getch_(0);
}
/* Read 1 character with echo */
char getche(void)
{
return getch_(1);
}
/* function : getPassword(),
to get password from keyboard */
void getPassword(char *pass)
{
int c=0;
char buff[30]={0},ch;
int len=0;
while((ch=getch())!='\n')
{
if(ch==0x7f) // use 0x08 in turboc (WINDOWS)
{
if(len==0) continue;
printf("\b \b"); len--; continue;
}
printf("%c",'*');
pass[len]=ch;
len++;
}
pass[len]='\0';
}
int main()
{
char user[30],pass[30];
printf("Enter User Name :");
gets(user);
printf("Enter Password :");
getPassword(pass);
if(strcmp(user,USERNAME)==0 && strcmp(pass,PASSWORD)==0)
printf("\nLOGIN SUCCESS.\n");
else
printf("\nLOGIN FAILED.\n");
return 0;
}
Output
输出量
Enter User Name :user001
Enter Password :******
LOGIN SUCCESS.
小程序验证用户名密码