Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
programas_uteis [d/mY H:i]
laureano
programas_uteis [d/mY H:i] (atual)
laureano
Linha 1: Linha 1:
 ====== Programas Úteis ====== ====== Programas Úteis ======
 Esta seção conterá pequenos programas, que em muitos casos são simples, mas ainda sim úteis. Esta seção conterá pequenos programas, que em muitos casos são simples, mas ainda sim úteis.
 +
 +===== Leitura de senha em C =====
 +<code c>
 +/* senha.c */
 +
 +#include <​unistd.h>​
 +#include <​termios.h>​
 +#include <​stdio.h>​
 +#include <​string.h>​
 +
 +void getsen(char * psSenha, int iTamanho )
 +{
 +  int i;
 +  char cLetra;
 +  struct termios stTerminalModificado;​
 +  struct termios stTerminalOriginal;​
 + 
 +  tcgetattr(0,​ &​stTerminalModificado);​
 +  stTerminalOriginal = stTerminalModificado;​
 +
 +  /* modifica o terminal para não ecoar na tela o que for digitado */
 +  stTerminalModificado.c_lflag&​=~(ECHO|ICANON);​
 +  stTerminalModificado.c_cc[VMIN]=1;​
 +  stTerminalModificado.c_cc[VTIME]=0;​
 +  tcsetattr(0,​ TCSAFLUSH, &​stTerminalModificado);​
 +
 +  for( i=0; i< iTamanho -1; i++)
 +  {
 +    cLetra=getchar();​
 +    if (cLetra == '​\n'​)
 +      break;
 +    psSenha[i]=cLetra;​
 +    fprintf(stderr,​ "​*"​);​
 +  }
 +  putchar ('​\n'​);​
 +  psSenha[i] = '​\0';​
 +
 +  /* restaura ao status original */
 +  tcsetattr(0,​ TCSAFLUSH, &​stTerminalOriginal);​
 +  return;
 +}
 +
 +int main(void)
 +{
 +   char sSenha[30];
 +   ​memset(sSenha,​0,​ sizeof(sSenha));​
 +   ​printf("​\nEntre com a senha:"​);​
 +   ​getsen(sSenha,​30);​
 +   ​printf("​\nSenha digitada [%s]\n",​ sSenha);
 +   ​return 0;
 +}
 +</​code>​
  
 ===== Número ASCII do teclado ===== ===== Número ASCII do teclado =====
programas_uteis.txt · Última modificação: d/mY H:i por laureano
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0