Эта программа копирует ввод в вывод, заменяя TAB(\t
) на \t
backspace(\b
) на \b
. Но здесь, в моем коде, я не могу прочитать входной символ, когда я ввожу пробел, он не заменяется, поскольку работает вкладка.
Компиляция с помощью GCC в 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;
}
Предположим, если я наберу vinay (tab) hunachyal
Output:vinay\thunachyal
Если я наберу vinay (и 1 backspace)
Output:vina
Итак, мой вопрос: почему в этом случае не печатается vina\b
?
Можно ли обнаружить \b
и напечатать \b
? если нет то в чем причина
Note:
Мне нужно во время выполнения ввести backspace, не предоставляя отдельный файл с \b