| Help Desk |
| Ocultar uma palavra quando a digito |
| Estou
fazendo um jogo da forca na linguagem C e estou com uma dúvida. Como eu
faço para ocultar uma palavra quando a digito? Ou melhor, qual a função
que devo utilizar para quando digitar uma palavra, esta não ser impressa
na tela?!! Alice Costa |
| Terei alguma dificuldade em
redigir uma orientação completa para esse caso, porque há muitos anos
eu não desenvolvo nenhum programa para ambiente DOS ou - como preferem
alguns - para "ambiente caracter". Isso posto, a melhor
orientação que posso lhe oferecer é a que segue: O que você digita aparece [automagicamente] no monitor porque o programa que está recebendo os caracteres digitados faz um echo de cada caracter recebido do teclado para o monitor. O echo é feito caracter-a-caracter. A função cin oculta esse processo e faz o echo automaticamente. Por isso, quando se usa cin, não há porque se preocupar com echo dos caracteres digitados. Se você precisa suprimir o echo de algum ou de todos os caracteres que está recebendo do teclado, você deve usar funções que lhe dêem controle sobre o echo dos caracteres: getch e putch. getch recebe cada caracter digitado sem fazer qualquer echo para o monitor. putch exibe o caracter no monitor. Veja o exemplo: |
| #include <stdio.h> #include <conio.h> int main(void) { char ch = 0; printf("Input a string:"); while ((ch != '\r')) { ch = getch(); putch(ch); } return 0; } |
| Nesse exemplo, para suprimir
completamente o echo dos caracteres digitados, remova putch
do código. Para fazer echo seletivo - de algum ou alguns caracteres pré-determinados - inclua as comparações necessárias: |
| #include <stdio.h> #include <conio.h> int main(void) { char ch = 0; printf("Input a string:"); while ((ch != '\r')) { ch = getch(); if ((ch >= ´0´) || (ch <= ´9´)) { putch(ch); } } return 0; } |
| Autor: Dagoberto
Haele Arnaut Exemplos extraídos de Borland C++ 5.0 Programmer's Guidel |
| | Home | Bookmarks | Universidades | Para Saber mais | Universidades | WEB Directory | Mapa do site | | |