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ć?
Ale w czym?
Bo np. Jeśli to textbox z winforms to po prostu zamieniaj stringi.
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();
}
No to mówię ci... Wpisywany tekst zapisuj do jakiegoś stringa lub tablicy charów a tam gdzie są wyświetlane wpisuj odpowiednią ilość "*";
Tak jak nazwa tematu działu wskazuje "Jesteś totalnym leikiem" - z pewnością nim jestem i nie potrafię tego :)
Hmm...
- Miejsce gdzie prosisz o wpisanie hasła.
- Co wpisanie kolejnej literki przypisujesz ją do np. stringa lub tablicy charów.
- 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 )
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
ż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.
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?
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#.
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ę.
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;