Entenda o comportamento do backspace (\ b) em C
Este programa copia sua entrada para sua saída, substituindo TAB (\t
) por\t
backspace (\b
) por\b
. Mas aqui no meu código eu não consigo ler caracteres de entrada quando eu entro backspace não substitui como uma guia funciona.
Compilando com o GCC no Linux:
#include<stdio.h>
int main(void)
{
int c=0;
while((c=getchar())!=EOF){
if(c=='\t'){
printf("\\t");
if(c=='\b')
printf("\\b");
}
else
putchar(c);
}
return 0;
}
Suponha que se eu digitar vinay (tab) hunachyal
Output:vinay\thunachyal
Se eu digitar vinay (e 1 backspace)
Output:vina
Então, minha pergunta é por quevina\b
não está imprimindo neste caso?
É possível detectar\b
e imprimir\b
? se não é o motivo
Note:
Eu preciso de backspace de entrada de tempo de execução não fornecendo arquivo separado tendo \ b