Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2011, 16:15   #1
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
[C/C++]Nascondere caratteri inseriti

Salve a tutti
Vorrei sapere come nascondere i caratteri che inserisco nei linguaggi C/C++

Mi servirebbe per nascondere una password....

grazie
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 16:49   #2
cirano994
Senior Member
 
L'Avatar di cirano994
 
Iscritto dal: May 2009
Messaggi: 1413
Quote:
Originariamente inviato da MissaW_RaZ_98 Guarda i messaggi
Salve a tutti
Vorrei sapere come nascondere i caratteri che inserisco nei linguaggi C/C++

Mi servirebbe per nascondere una password....

grazie
So che non ti sarà molto d'aiuto, ma io, strano ma vero, so farlo con Assembly ma non in C.

Interesserebbe anche a me..

Grazie
__________________
PC: Carbide 400r, Corsair TX650M, FX8320, CM 412s, Gigabyte 970-UD3, G.skill Ares 2x4GB, Crucial M500 120GB, Seagate 7200.14 2TB, Seagate 7200.12 750GB, Gigabyte GTX570. Windows 10 Pro
Notebook: Dell Latitude E7450, i5-5300U, SSD 256Gb, 8GB. Windows 10 Pro
LG G3
cirano994 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 16:58   #3
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
Bene,a questo punto siamo in due

Aspettiamo risposte....
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 16:59   #4
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Non lo so.... non ci ho mai provato... però stavo pensando... e spero di non dire cacchiate...

forse potresti provare a chiudere il flusso per lo stdout e ad ogni input di carattere (che ovviamente bufferizzerai da qualche parte) mandi un asterisco o proprio niente... quando ho un po di tempo ci provo... fammi sapere se è possibile
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:02   #5
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Non va ho fatto una prova al volo

Codice:
int main(){
	fclose(stdout);
	char t = getchar();
	printf("Caio %c\n", t);
	return 0;
}
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:14   #6
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
ah,peccato...

Fa niente,cambio progetto
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:19   #7
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Non so cosa ci devi fare ma secondo me dovresti insistere
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:30   #8
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
niente...volevo solo imparare qualcosina in più col c/c++
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:31   #9
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
A ok... comunque c'è una nuova pista se ti interessa ancora...

Codice:
int getch(void)
ciao
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:42   #10
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
ma al posto di void cosa ci devo mettere??

Scusa per questa domanda(sono un principiante in programmazione)
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:47   #11
cirano994
Senior Member
 
L'Avatar di cirano994
 
Iscritto dal: May 2009
Messaggi: 1413
Ci ho provato ma dava problemi sulla stringa di memorizzazione...

In compenso ho trovato questo funzionante :
Codice:
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
#define MAX_LENGHT     128
#define ENTER           13
#define BACKSPACE        8
    
    char ch;
    char password[MAX_LENGHT];
    const char *mypass="asilas";
    int pos=0;
    
int main()
{
   cout <<"Please enter the password:\n";
   while(true)
     { 
       ch=getch();
       if(pos>=MAX_LENGHT) {cout<<'\a'; continue;} /* beep if password is too long */
       
       if(ch==ENTER) break;  /* User have pressed ENTER*/
       
       else if(ch==BACKSPACE)  /* BACKSPACE was pressed*/
         {
           cout <<"\b \b";   
           password[--pos]='\0';
         }
       else/* A..Z a...z  BUG: I forgot what... */
         {
           cout <<"*";
           password[pos++]=ch;
           password[pos]='\0';
         }
       if(pos<=0) pos=0;
     }
    
 if(strcmp(password,mypass)==0) cout <<"\nCorrect password!\n";   
 else  cout <<"\nAccess denied!\n";  
    
    
    
    cout.flush();
    cin.get(); 
    return EXIT_SUCCESS;
}
Ciao
__________________
PC: Carbide 400r, Corsair TX650M, FX8320, CM 412s, Gigabyte 970-UD3, G.skill Ares 2x4GB, Crucial M500 120GB, Seagate 7200.14 2TB, Seagate 7200.12 750GB, Gigabyte GTX570. Windows 10 Pro
Notebook: Dell Latitude E7450, i5-5300U, SSD 256Gb, 8GB. Windows 10 Pro
LG G3
cirano994 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 17:58   #12
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
ottimo
provo subito anch'io
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 18:04   #13
MissaW_RaZ_98
Senior Member
 
L'Avatar di MissaW_RaZ_98
 
Iscritto dal: Oct 2011
Città: Parma
Messaggi: 313
funziona alla perfezione,però sto analizzando meglio il source code per capirlo bene

credo di averlo capito abbastanza bene....
però c'è una cosa che non capisco:cosa sono "\b" e "\a" ?

Ultima modifica di MissaW_RaZ_98 : 11-11-2011 alle 18:41.
MissaW_RaZ_98 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 20:33   #14
Floris
Senior Member
 
L'Avatar di Floris
 
Iscritto dal: Jan 2007
Messaggi: 2267
Sequenze di escape. Cerca nella documentazione C++ relativa a stringhe e caratteri...e dovrebbe venirti indicato il significato...come \n per indicare nuova riga.
__________________
Concluso con:...
Floris è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2011, 21:17   #15
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8357
In qualche modo è possibile farlo in maniera pulita usando la funzione kbhit() e in occorrenza della pressione di un tasto andare a leggere quale carattere è stato premuto dallo stream della tastiera.
Domani provo
__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2011, 21:04   #16
british
Member
 
L'Avatar di british
 
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
Quote:
Originariamente inviato da MissaW_RaZ_98 Guarda i messaggi
Salve a tutti
Vorrei sapere come nascondere i caratteri che inserisco nei linguaggi C/C++

Mi servirebbe per nascondere una password....

grazie
Sistema operativo? Se Unix e simili puoi usare la funzione di libreria getpass() anche se è stata dichiarata obsoleta.
In generale quello che devi fare è disabilitare l'echoing sul terminale in uso.

ciao!
british è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Meta potrebbe aver mostrato in anticipo ...
Bicicletta elettrica L26 a 474,05€: e-bi...
NVIDIA RTX PRO 5500 Blackwell: 84 GB di ...
Sei alla ricerca di un buon gruppo di co...
Blizzard annuncia un nuovo StarCraft: la...
Ecobonus al 65%: il governo valuta il ri...
Biscotti fatti con bottiglie di plastica...
SIHOO B100 a 161€ e B100 Pro a 209€: sed...
ClickFix dilaga: un finto captcha e un c...
HP Envy 6520e a 63€: stampante multifunz...
Diablo diventa una serie animata Netflix...
iPhone Duo porterà Apple al 25% d...
TSMC brucia le tappe: la produzione dei ...
Lexar ARES, SSD da 1TB a 156,74€: PCIe G...
Un'altra novità in arrivo da Samsung: ec...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v