Apagar o que já foi escrito no prompt

Olá,

Não se todos já se depararam ou notaram que, quando criamos nosso próprio prompt de comando, tal como o bash, a tecla backspace “não funciona”. Na verdade, o problema é que o nosso prompt não está preparado para tratar esse caractere especial. A solução para esse problema é bem simples. Devemos criar uma função que emule o comportamento do backspace.

void backspace (void) {
    printf("\b"); printf(" "); printf("\b");
}

Logicamente, deveremos ter uma função que reconheça o caractere especial backspace (0x7F) antes, e depois fazer uma chamada à essa função acima, criada. Podemos utilizar a função emul_getch() apresentada em um post anterior, ou mesmo a função getchar(). Uma observação a ser feita, é que a função backspace() criada, serve apenas para pagar um caractere. Portanto, se vc quer apagar mais de um caractere, faça um loop.  🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s