|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2000
Città: Sospeso nell'incredibile
Messaggi: 830
|
[c][unix] redirezione file standard (OUT e IN)
come faccio a non far visualizzare sul terminale i caratteri inseriti da tastiera in un programma c, per intederci devo fare inserire una password dopodichè devo renderli di nuovo visibili, ho provato un po' a chiudere i vari stdin stdout ma forse non ho ben chiaro come devo fare ...
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non c'è niente nel linguaggio standard, devi utilizzare un input non-buffered, se non sbaglio si può fare con la libreria ncurses...
Comunque ilsensine ha scritto più volte un metodo per farlo...il difficile è trovarlo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Devi farti una bella scorpacciata di termios (v. man termios). In particolare, devi rimuovere l'echo da stdin.
C'è anche una funzione getpass, ma è stata marcata obsoleta da tempo.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ho visto che ncurses dovrebbe già avere getch
Quindi: Codice:
#include <ncurses.h>
int main() {
initscr();
getch();
endwin();
return 0;
}
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ecco qui ad esempio l'input di una pass con curses:
Codice:
#include <ncurses.h>
#include <stdio.h>
int main()
{
initscr();
int c;
do
{
noecho();
refresh();
c = getch();
refresh();
echo();
printf("*");
}
while(c != '\n');
endwin();
return 0;
}
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2000
Città: Sospeso nell'incredibile
Messaggi: 830
|
grazie mille adesso provo..
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:38.



















