Saisie de mot de passe masquée

Portrait de lokis

Version C++ du code présent dans la partie C :

Fichier mdp.cpp:

#include <fstream>
#include <termios.h>
 
using namespace std;
 
void get_pwd(char *pwd, int len){
	struct termios t;
 
	/* Désactive l'affichage des caractères */	
	tcgetattr (0, &t);
	t.c_lflag &= !ECHO;
	tcsetattr(0, TCSANOW, &t);
 
	/* Lecture du mot de passe */
	cin.getline(pwd, len, '\n');
 
	/* Réactive l'affichage des caractères */
	tcgetattr(0, &t);
	t.c_lflag |= ECHO;
	tcsetattr (0, TCSANOW, &t);
}

Fichier main.cpp:

#include <iostream>
#include "mdp.cpp"
 
#define MAX_PASS 20
 
using namespace std;
 
int main(){
	char mdp[MAX_PASS];
	cout << "Entrez votre mot de passe : " ;
	get_pwd( mdp, MAX_PASS);
	cout << endl;
	cout << "Votre mot de passe est : " << mdp << endl ;
	return 0;
}