Wpisywanie hasla w konsoli - zamiast literek gwiazdki

0

Hej!!

Znalazłam na internecie kod, ktory pobiera mi haslo, jako gwiazdki. Problem jest w tym, ze on używa conio.h :( A ja nie chcę tego używać (nie mogę, bo to jest z C), co zamiast tego z C++? Próbowałam cin.get() ale nie działa tak jak getch(); :((

to kod, on NIE JEST moj:

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

using namespace std;

int main()
{
   int i;
   string kod;
   string kod2 = "marcin";
   char c;
   const char ENTER = 13;
   const char BACKSPACE = 8;
  

   while(true)
   {
      kod.clear();
      i = 0;
      cout << "Podaj haslo: " << endl;
     
      while(true)
      {
         c = getch();
         if (c == ENTER) break;
         if(c == BACKSPACE)
         {
            if(!kod.empty()) kod.erase(kod.length() - 1);
         }
         else
         {
            cout << "*";
            kod.append(1, c);
         }
      }
       
      cout << "\nPodane haslo: " << kod << endl;
      cout << "Poprawne haslo: " << kod2 << endl;
   
      if (kod == kod2)
      {
         cout << "\nHaslo jest poprawne\n";
         break;
      }
      else cout << "\nHaslo jest bledne\n";
      continue;
   }
   system("Pause");
   return 0;
}
0

wywal #include <conio.h> i zamień getch na getchar chyba wtedy bedzie działać

0

no to pozostaje curses, winapi (zakładam, że windows) bądź asembler.

1

No dzieki :) Ach, jak ja niecierpie C++ -.- ciezko w nim cokolwiek zrobic bez zagladania w asma albo dodatkowe biblioteki, fuj

0
roztrzepana napisał(a):

ciezko w nim cokolwiek zrobic bez zagladania w asma albo dodatkowe biblioteki, fuj
takie c/c++ mają założenia niestety. Zwróć uwagę, że sam język nawet nie udostępnia funkcji do pobierania i wypisywania danych na standardowe we/wy ;)

0

roblem jest w tym, ze on używa conio.h A ja nie chcę tego używać (nie mogę, bo to jest z C)

No to masz problem, bo getch robi dokładnie to czego potrzebujesz.

0

Wiem, że mam problem - myślałam, że może jakoś da się to sprytnie i łatwo ominąć, bez dodatkowych bibliotek. A tu klops, przecież pod linuksem toto nawet nie pójdzie

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