• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

cin bez wyświetlania na ekranie (c++)

0 głosów
804 wizyt
pytanie zadane 16 listopada 2015 w C i C++ przez maciek061 Gaduła (4,500 p.)
Zna ktoś funkcję (jeśli taka w ogóle istnieje), która zapisuje pojedynczy znak z klawiatury bez wyświetlania go na ekranie?

3 odpowiedzi

+1 głos
odpowiedź 16 listopada 2015 przez furas Maniak (53,680 p.)
Z tego co się orientuje to wyświetlaniem wciśniętych klawiszy zajmuje się konsola, w której uruchamiasz program. Ten efent nazywa się `echo`. Jeśli wyłączysz w konsoli echo to nie będzie znaków wyświetlać

---

http://stackoverflow.com/questions/6899025/hide-user-input-on-password-prompt
komentarz 16 listopada 2015 przez maciek061 Gaduła (4,500 p.)
Nie jestem pewien, może się mylę, ale chyba pomyliłeś języki programowania :)
komentarz 16 listopada 2015 przez furas Maniak (53,680 p.)
dlaczego myślisz, że pomyliłem języki ? efekt `echo` jest niezależny od języka.
komentarz 16 listopada 2015 przez maciek061 Gaduła (4,500 p.)
Myślałem, że chodzi ci o "@echo off" na początku kodu, bo takiego czegoś nie ma w c++. A można wyłączyć echo w konsoli? Jeśli tak to jak?
komentarz 16 listopada 2015 przez Eryk Andrzejewski Mędrzec (165,260 p.)

@furas daję ci yes bo w twoim linku jest też pokazane jak to zrobić na linuksie :)

komentarz 16 listopada 2015 przez furas Maniak (53,680 p.)
edycja 16 listopada 2015 przez furas

"efekt echo" daje się programowo wyłączyć tak jak to podają przykłady z podanego linku.

Nie wiem czy w Windows jest gotowa funkcja do wyłączaniać "efektu echo" w konsoli (lub w batch) ale może dało by się zrobić program na podstawie przykładów z linku.

W Linux powinna być taka możliwość bez dodatkowych narzędzi.

EDIT: Linux 

# wyłączenie efektu echo wprost w konsoli

stty -echo 

# przywrócenie efektu echo (trzeba wpisywać w ciemno bo konsola nic nie wyswietla ;)

stty echo

 

0 głosów
odpowiedź 16 listopada 2015 przez emSon Stary wyjadacz (10,480 p.)
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    char znak;
    znak = getch();
}

 

komentarz 16 listopada 2015 przez emSon Stary wyjadacz (10,480 p.)
maciek, zedytowałem odpowiedź. tamta pokazywała znak na ekranie i wymagała zaakceptowania entera, ta już tylko łapie znak.
komentarz 16 listopada 2015 przez Michał628496 Pasjonat (17,340 p.)
lepiej użyć _getch()
komentarz 16 listopada 2015 przez maciek061 Gaduła (4,500 p.)
Rzeczywiście, dzięki za pomoc :)
komentarz 16 listopada 2015 przez emSon Stary wyjadacz (10,480 p.)
W sumie tak, getch() jest przestarzała.
komentarz 16 listopada 2015 przez Dorion300 Szeryf (90,330 p.)
getch() to jest to samo co _getch().....
komentarz 16 listopada 2015 przez Eryk Andrzejewski Mędrzec (165,260 p.)
Najlepiej to getch w ogóle nie używac, bo nie działa na Linuksach.
komentarz 16 listopada 2015 przez emSon Stary wyjadacz (10,480 p.)
aleś sie uczepił tego linuksa. autor nic nie wspomina o tym, że na takim systemie pracuje dlatego podałem mu taki sposób.

a tak z ciekawości, jaka jest inna funkcja mająca taką funkcjonalność?
komentarz 16 listopada 2015 przez Eryk Andrzejewski Mędrzec (165,260 p.)
No uczepiłem się Linuksa i chyba lepiej, żeby program był multiplatformowy, trafi do szerszego grona odbiorców, w końcu srajdołs to nie jedyny OS :)
komentarz 16 listopada 2015 przez maciek061 Gaduła (4,500 p.)
To jaką masz funkcje zamiast getchara?
–1 głos
odpowiedź 16 listopada 2015 przez Sewek Nowicjusz (190 p.)
Nie wiem czy dokladnie o to chodzi ale żeby zapisać zmienna wystarczy napisać poprostu cin >> zmienna; Koniec. :) Nie musisz jej wypisywać na ekranie za pomocą Cout
komentarz 16 listopada 2015 przez maciek061 Gaduła (4,500 p.)
Nie zkumałeś pytania. Jak coś zapisujesz do zmiennej za pomocą cin to widać na ekranie to, co piszesz. A jak użyjesz funkcji getch() to nie widać :)
komentarz 16 listopada 2015 przez Sewek Nowicjusz (190 p.)
Rzeczywiście. Przepraszam! :)

 

Pozdrawiam!

Podobne pytania

0 głosów
1 odpowiedź 560 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez Maciex0n Nowicjusz (160 p.)
0 głosów
1 odpowiedź 138 wizyt
pytanie zadane 20 lipca 2018 w C i C++ przez Hinzeq Użytkownik (860 p.)
0 głosów
2 odpowiedzi 362 wizyt

88,687 zapytań

137,299 odpowiedzi

306,685 komentarzy

58,877 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...