Advertisement
adnanj

Funkcija za učitavanje stringa uz maskiranje unosa

May 7th, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. char * UcitajString(int velicina) {
  5.     char * string = new char[velicina + 1], znak;
  6.     int i = 0;
  7.     while (i < velicina && (znak = _getch()) != '\r') {
  8.         if (znak != '\b') { // ako korisnik nije pritisnuo backspace
  9.             string[i++] = znak; // pohranjujemo karakter u string
  10.             std::cout << "*"; // ispisujemo asterisk ("*")
  11.         } else if(i >= 1) { // ako je backspace i korisnik ima šta brisati (sprječavamo da briše ostali tekst, samo string koji unosi)
  12.             string[--i] = '\0'; // prepisujemo posljednji uneseni karakter s null-terminirajućim
  13.             std::cout << "\b \b"; // brišemo posljednji znak asteriska ("*") s konzole
  14.         }
  15.     }
  16.     string[i] = '\0';
  17.     return string;
  18. }
  19.  
  20. void main()
  21. {
  22.     // Testiranje funkcije "UcitajString"
  23.     std::cout << "Unesite string (funkcija \"Ucitaj string\"): ";
  24.     char * s1 = UcitajString(20); // funkcija vraća pokazivač na prvi karakter novoalociranog niza karaktera
  25.     std::cout << std::endl << "Unijeli ste sljedeci string (s1): " << s1 << std::endl;
  26.    
  27.     delete [] s1; s1 = nullptr;
  28.     system("pause>>FIT");
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement