Article View: es.comp.os.linux.programacion
Article #5916Re: [C] Introducir datos en modo oculto
From: Fernando Arbeiza
Date: Mon, 01 Sep 2003 14:39
Date: Mon, 01 Sep 2003 14:39
85 lines
3382 bytes
3382 bytes
On Mon, 01 Sep 2003 16:17:00 +0200, Eris Pluvia
<eris_pluviaNOSPAM@yahoo.es> wrote:
>> �Te refieres a una funci�n tan peligrosa como gets? ;-)
>
> Bueno, yo realmente uso fgets... ;-)
Como hay que hacer, s� se�or.
>> En resumen, puedes utilizar la librer�a ncurses. Un ejemplillo:
>
> Algo as� andaba buscando. Ten�a un c�digo muy parecido para W95 con la
> librer�a conio pero no consegu�a traducirlo para ncurses (en parte porque
> reconozco que no tengo ni idea).
Pos mira. Uno en ingl�s y otro en espa�ol:
<URL: http://en.tldp.org/HOWTO/NCURSES-Programming-HOWTO/>
<URL: http://ditec.um.es/~piernas/manpages-es/otros/tutorial-ncurses.html>
> Lo he probado y funciona. Muchas gracias ;-)
De nada. Pero no descartes las otras posibilidades. Tienen dos ventajas,
no borran la pantalla y no necesitas ninguna librer�a (aunque una
depende de que el sistema sea POSIX y la otra de que exista el comando
stty). Pero bueno, como tengo un ratito; ah� van dos ejemplos de otras
formas:
/**********************************************************************/
/* posix.c */
#include <stdio.h>
#include <unistd.h>
#include <termios.h>
#define NUM_CHAR 256
void echo_toggle(void) {
struct termios settings;
tcgetattr(0, &settings);
settings.c_lflag = settings.c_lflag ^ ECHO;
tcsetattr(0, TCSANOW, &settings);
}
int main(void) {
char frase[NUM_CHAR];
echo_toggle();
fgets(frase, 256, stdin);
echo_toggle();
puts(frase);
return 0;
}
/* Fin de Fichero */
/**********************************************************************/
/**********************************************************************/
/* stty.c */
#include <stdlib.h>
#include <stdio.h>
#define NUM_CHAR 256
#define ECHO_OFF "stty -echo"
#define ECHO_ON "stty echo"
int main(void) {
char frase[NUM_CHAR];
system(ECHO_OFF);
fgets(frase, 256, stdin);
system(ECHO_ON);
puts(frase);
return 0;
}
/* Fin de Fichero */
/**********************************************************************/
Un saludo.
--
Fernando Arbeiza <URL: mailto:arbeizaf@ono.com>
Crea tu propio Linux: <URL: http://www.escomposlinux.org/lfs-es>
Technical Details
Message-ID:
<slrnbl6mhr.33r.arbeizaf@jupiter.olimpo.homelinux.org>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!81-203-248-186.user.ono.COM!not-for-mailReferences:
<biv62v$d45gm$1@ID-158102.news.uni-berlin.de> <slrnbl6913.1lb.arbeizaf@jupiter.olimpo.homelinux.org> <bivkd5$dj8dn$1@ID-158102.news.uni-berlin.de>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,63ddb766068b04b4 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-09-01 07:47:19 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!81-203-248-186.user.ono.COM!not-for-mail From: Fernando Arbeiza <arbeizaf@ono.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: [C] Introducir datos en modo oculto Date: Mon, 1 Sep 2003 16:39:55 +0200 Lines: 85 Message-ID: <slrnbl6mhr.33r.arbeizaf@jupiter.olimpo.homelinux.org> References: <biv62v$d45gm$1@ID-158102.news.uni-berlin.de> <slrnbl6913.1lb.arbeizaf@jupiter.olimpo.homelinux.org> <bivkd5$dj8dn$1@ID-158102.news.uni-berlin.de> NNTP-Posting-Host: 81-203-248-186.user.ono.com (81.203.248.186) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de 1062427637 14079489 81.203.248.186 (16 [148301]) X-Orig-Path: jupiter.olimpo.homelinux.org!news User-Agent: slrn/0.9.7.4 (Linux)