====== Programas Úteis ======
Esta seção conterá pequenos programas, que em muitos casos são simples, mas ainda sim úteis.
===== Leitura de senha em C =====
/* senha.c */
#include
#include
#include
#include
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;
}
===== Número ASCII do teclado =====
/* programa_util_001.c*/
#include
int main(void)
{
char cTeclado;
/* fica lendo do teclado até que seja pressionado a tecla ESC */
while((cTeclado=getchar())!=27)
{
printf("\n%c - %d", cTeclado, cTeclado);
}
return (0);
}
===== Tabela ASCII completa =====
/* programa_util_002.c */
#include
int main(void)
{
int iContador;
/* imprime toda a tabela ASCII */
for(iContador=0;iContador<256;iContador++)
{
printf("\t\t%03d = %c", iContador, iContador);
}
return (0);
}