Копирование входного потока в выходной с заменой знаков табуляции на \t - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Условия: Напишите программу для копирования входного потока в выходной с заменой знаков табуляции на \t, символов возврата назад (Backspace) на \b, а обратных косых черт - на \\. Это сделает табуляции и символы возврата легко читаемыми в потоке. Проблема: При с == \b не срабатывает Кейс... Т.е. тыркаю на клавишу бэкспэйс на клаве, затем энтер и получаю в ответ 2 пустые строчки... case '\b'
#include<stdio.h>
#include<conio.h>
 
int main()
{
  clrscr();
  int c;
 
  while((c=getchar())!=EOF)
    switch (c)
    {
      case '\t':
      {
        printf("\\t");
        break;
      }
      case '\b':
      {
        printf("\\b");
        break;
      }
      case '\\':
      {
        printf("\\\\");
        break;
      }
      default: putchar(c);
    }
  return 0;
}
ну где же Гуру Си ...

Решение задачи: «Копирование входного потока в выходной с заменой знаков табуляции на \t»

textual
Листинг программы
#include <stdio.h>
 
int main()
{
    int c, d;
 
    while ( (c=getchar()) != EOF) {
        d = 0;
        if (c == '\\') {
            putchar('\\');
            putchar('\\');
            d = 1;
        }
        if (c == '\t') {
            putchar('\\');
            putchar('t');
            d = 1;
        }
        if (c == '\b') {
            putchar('\\');
            putchar('b');
            d = 1;
        }
        if (d == 0)
            putchar(c);        
    }
    return 0;
}

Объяснение кода листинга программы

В этом коде выполняется замена специальных символов ввода на их эквиваленты обратного слеша, например, «\t» на «\t». Затем символ выводится на экран. Если символ не является специальным, он выводится без изменений. Код использует функции ввода-вывода, такие как getchar() и putchar(), для чтения символов из стандартного ввода и записи символов на стандартный вывод.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы