Symbol "*" zamiast liter

0

Witam programując w C/C++ chcę napisac program na hasło , który wiem jak napisać , ale chcę aby podczas wpisywania hasła pojawiły się symbole "*" zamiast wpisywanych liter jakiej funkcji uzyć?

0

Ale w czym?

Bo np. Jeśli to textbox z winforms to po prostu zamieniaj stringi.

0

Konkretnie w tym :)

 #include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
int main ()
{
ladowanie();
system("cls");
cout << "Wczytano - O K N O   L O G O W A N I A" << endl << endl << endl;
string id,pw;
cout << "ID:";
cin >> id;
if (id=="Quake")
{
cout << endl << "PW:";
cin >> pw;
if (pw=="program")
{
                  system("cls")
cout << "Witam QUAKE zostales pomylsnie zalogowany!!!!" << endl;
getchar();
getchar();
}
0

No to mówię ci... Wpisywany tekst zapisuj do jakiegoś stringa lub tablicy charów a tam gdzie są wyświetlane wpisuj odpowiednią ilość "*";

0

Tak jak nazwa tematu działu wskazuje "Jesteś totalnym leikiem" - z pewnością nim jestem i nie potrafię tego :)

0

Hmm...

  1. Miejsce gdzie prosisz o wpisanie hasła.
  2. Co wpisanie kolejnej literki przypisujesz ją do np. stringa lub tablicy charów.
  3. A miejsce gdzie wyświetla się wpisywane hasło zastępujesz odpowiednią ilością "*";

Nie wiem czy w konsoli tak się da. Bo w niej chyba nie da się "ukrywać" znaku jak np. w winform. Gdzie wpisany znak szybko się zastępuje gwiazdką(textbox naprzykład:D )

0

Tylko , że ja chcę "pisać za pomocą giwazdek" a nie tylko je wyświetlić :D przykładowo podczas wpisywania hasła naciskam d to w konsoli pojawia sie * , na Twoj sposób też wpadłem ;d

0

żeby takie coś osiągnąć najłatwiej posłużyć się funkcją getch() z biblioteki conio.h. czeka Cię przy tym troszkę zabawy (obsługa backspace, delete, strzałek itp.). Myslę, że jeśli dobrze rozumiesz podstawy to najwyższy czas zająć się aplikacjami okienkowymi, a jeśli nie to radze nie zajmować się pierdołami tylko zabrać się do roboty.

0
krwq napisał(a)

żeby takie coś osiągnąć najłatwiej posłużyć się funkcją getch() z biblioteki conio.h. czeka Cię przy tym troszkę zabawy (obsługa backspace, delete, strzałek itp.). Myslę, że jeśli dobrze rozumiesz podstawy to najwyższy czas zająć się aplikacjami okienkowymi, a jeśli nie to radze nie zajmować się pierdołami tylko zabrać się do roboty.

Masz na myśłi WinAPI?

0

przejście od razu do winapi, to rzucanie się w dość głęboką wodę i... masochizm. proponuję albo stare środowisko Borland C++, bardzo intuicyjne, a wszystko piszę się dokładnie tak samo jak w Delphi (z tą różnicą, że jest to C++) lub proponuję najpierw porządną naukę klas w C++, a później przesiadkę na C#, w którym pisze się chyba jeszcze lepiej jak w Borlandzie (podpowiada w zasadzie wszystko i cały kod pisze się za Ciebie), ale tam już jest podejście obiektowe, więc dobrze gdybyś je rozumiał. Visual C++ odradzam, bo zniechęcisz się jedynie do produktów MS.

Do aplikacji okienkowych odradzam C++, pomimo że uwielbiam ten język. Jedyna opcja którą w miarę akceptuję jest to podejście Borland-a. Zabawa jakiś dziwnych bibliotek w stylu Qt itp. jest strasznie denerwująca więc zdecydowanie szybciej nauczysz się C#.

0

Też polecam c# i winform fajnie się w tym piszę ;p

Przed chwilą też wpadłem na trop jak można zrobić to też poprzez getch() coś podobnego jest w ubuntu(przy wpisywaniu hasła roota w konsoli) tylko tam nie wyświetla stukniętych znaków więc zrobione coś na przykład getcha tak myślę.

0

Proszę bardzo (_getch() z <conio.h>) pod msvc 2010

 
        string str = "";
	char c;
	while((c = _getch()) != 13)
	{
		cout << "*";
		str+=c;
	}

	cout << "\nHaslo ktore podales to: " << str;

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