There is a lot of sample code online for a password program that hides the input with an asterisk. These programs work when I compile them with my CodeBlocks IDE by outputting a *
everytime I type in a letter.
Enter Password : ******
You entered : iiiiii
Process returned 0 (0x0) execution time : 6.860 s
Press any key to continue.
However, when I use the CLion IDE, I can see the letters I type:
Enter Password :iiiiii
******
You entered : iiiiii
Process finished with exit code 0
Can someone explain why this difference exists between the two IDEs?
The code that I am using (I found it online) is:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std; //needed for cout and etc
int main()
{
START:
system("cls");
cout<<"\nEnter Password : ";
char pass[32];//to store password.
int i = 0;
char a;//a Temp char
for(i=0;;)//infinite loop
{
a=getch();//stores char typed in a
if((a>='a'&&a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9'))
//check if a is numeric or alphabet
{
pass[i]=a;//stores a in pass
++i;
cout<<"*";
}
if(a=='\b'&&i>=1)//if user typed backspace
//i should be greater than 1.
{
cout<<"\b \b";//rub the character behind the cursor.
--i;
}
if(a=='\r')//if enter is pressed
{
pass[i]='\0';//null means end of string.
break;//break the loop
}
}
cout<<"\nYou entered : "<<pass;
//here we can even check for minimum digits needed
if(i<=5)
{
cout<<"\nMinimum 6 digits needed.\nEnter Again";
getch();//It was not pausing :p
goto START;
}
return 0;
}
//Lets check for errors.
//You can even put file system.
I know that there are a lot of questions similar to this one, however, none of them could explain why it is not working when using the CLion IDE.
i know this thread is a little old but use my implementation. It only accepts valid input (numbers and letter can be easily changed) and it supports backspace
sample program for password protection from someone peeking in display while you type it...hope this may work for you.... any suggestion will be appreciated..
Maybe