Я вижу вопрос в «языке программирования C», вот так: Напишите программу для копирования ее ввода на свой вывод, заменив каждую вкладку на \ t, каждое обратное пространство на \ b и каждую обратную косую черту на \. Это делает вкладки иКак я могу изменить backspace на ' b'?
обратные пространства видны недвусмысленным образом. тогда я пишу программу, как этот
#include<stdio.h>
int main(void)
{
int c;
while((c=getchar())!=EOF)
{
if(c=='\t')
{
putchar('\\');
putchar('t');
}
if(c=='\b')
{
putchar('\\');
putchar('b');
}
if(c=='\\')
{
putchar('\\');
putchar('\\');
}
else{
putchar(c);
}
}
return 0;
}
, но когда я входной забой, я не могу получить «\ Ь», так как я могу получить выход «\ Ь», то есть. Я имею в виду, как я могу выводить обратное пространство?
что вы получите в качестве вывода? Правильно ли ведет вкладка? – smushi
Я не думаю, что есть один простой ответ на этот вопрос. Это зависит от вашего терминала и т. Д. - это может быть буферизация всего, что вы набираете, а затем отправить его в свою программу, когда вы нажмете enter. Если это так, он может обрабатывать обратное пространство для вас, и ваша программа никогда их не увидит. – John3136
Я считаю, что 'puts' может быть более эффективным, например' puts ("\\ t"); '. Он заменяет два вызова функций одним. –