Ferramentas do usuário

Ferramentas do site


programas_uteis

Diferenças

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


programas_uteis [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1
Linha 1: Linha 1:
 +====== Programas Ú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 =====
 +<code c>
 +/* programa_util_001.c*/
 +#include <stdio.h>
 +
 +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);
 +}
 +</code>
 +
 +===== Tabela ASCII completa =====
 +<code c>
 +/* programa_util_002.c */
 +#include <stdio.h>
 +
 +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);
 +}
 +</code>             
  
programas_uteis.txt · Última modificação: 2023/09/12 16:14 por 127.0.0.1