c++ podanie znaku bez wyświetlenia go

0

Witam. Koledzy piszę prosty program konsolowy gdzie zadaję pytanie o podanie liczby 1 lub 2. Następnie chcę wprowadzić znak (1 lub 2) z klawiatury tak aby on się nie wyświetlił a jednocześnie zapisał do jakiejś zmiennej. Program finalnie ma podać przy (1) napis "jeden" przy (2) napis "dwa"

Problem polega na tym, że nie wiem jak zrobić aby wpisując odpowiedź nie wyświetlało mi się (to przeklęte 1 lub 2). Chciałbym aby w momencie dokonania wyboru od razu pojawiał się odpowiedni napis.

Jakieś sugestie?

Pozdrawiam Areczkas

2

Ostatnim razem gdy się orientowałem standard nie definiował żadnej flagi, która wyłączyłaby wyświetlanie dla cin. Musisz użyć czegoś co dostarcza Ci SO albo biblioteki, która zrobi to za Ciebie. Jeśli używasz linuksa to libc dostarcza getpass. Jeśłi używasz windowsa, musisz użyć winapi, przykład TUTAJ.

1

Jeżeli potrzebujesz wczytać tylko jeden znak

#include <iostream>
#include <conio.h>

int main()
{
    char c = getch();
    std::cout<<"To bylo \"ukryte\": "<<c<<std::endl;
}
0

Hasło: c++ console password input
Wynik:
http://www.cplusplus.com/articles/E6vU7k9E/

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0