アスタリスクで入力を隠すパスワードプログラムのサンプルコードは、オンラインでたくさんあります。これらのプログラムは、CodeBlocks IDEでコンパイルしたときに、*
という文字を入力するたびに出力されます。私はCLion IDEを使用する場合C++で入力パスワードのアスタリスクを表示する方法
Enter Password : ******
You entered : iiiiii
Process returned 0 (0x0) execution time : 6.860 s
Press any key to continue.
しかし、私は私が入力した文字を確認できます。
Enter Password :iiiiii
******
You entered : iiiiii
Process finished with exit code 0
この差は2つのIDEの間に存在する理由を誰かが説明できますか?
私が使用していたコードは(私はそれをオンラインで見られる)である:それはないなぜ私はこの1つのように多くの質問があること
#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.
知っている、しかし、それらのどれも説明できませんでしたCLion IDEを使用しているときに動作します。
あなたは、私が実際にncurse、@EdHealを使用するので、どのようにだろうていませんでした –
[ncurse](https://en.wikipedia.org/wiki/Ncurses)のようなものを使用する必要があります私はncurseでプログラムを作っていますか? –