====== 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); }