Все мы хотим на что-то забить, но не в этот раз.
Напишите программу, копирующую вводимые символы в выходной поток с заменой символа табуляции на \t, символа забоя на \b и каждой обратной наклонной черты на \\. Это сделает видимыми все символы табуляции и забоя.
Подскажите, что это за символ такой, что это вообще, символ забоя? ! BackSpace? Тогда как я его должен заменить на "/b"? Остальное задание понятно и ясно, а вот это ЗАБОЙ, просто хард... .
SOS, хотя вероятность четкого ответа КРАЙНЕ МАЛА
Другие языки программирования и технологии
Символ "Забоя"
#include <stdio.h>
#include <conio.h>
int main() {
int c;
while ( (c = getchar()) != EOF ) {
switch (c) {
case '\t': printf("\\t"); break;
case '\b': printf("\\b"); break;
case '\\': printf("\\\\"); break;
default: putchar(c); break;
}
}
}
Но символ забоя не получишь стандартными средствами Си, консоль перехватывает Backspace и не отправляет его программе. Можно подготовить файл в котором будет символ \b и перенаправить его на вход программы. Обрати внимание, как один и тот же файл in.txt с символом \b выводит стандартная утилита type и обрабатывает программа выше:
Можно, конечно использовать _getch() из conio.h, и тогда \b поймаешь, но conio.h в стандарт не входит.
#include <conio.h>
int main() {
int c;
while ( (c = getchar()) != EOF ) {
switch (c) {
case '\t': printf("\\t"); break;
case '\b': printf("\\b"); break;
case '\\': printf("\\\\"); break;
default: putchar(c); break;
}
}
}
Но символ забоя не получишь стандартными средствами Си, консоль перехватывает Backspace и не отправляет его программе. Можно подготовить файл в котором будет символ \b и перенаправить его на вход программы. Обрати внимание, как один и тот же файл in.txt с символом \b выводит стандартная утилита type и обрабатывает программа выше:

Можно, конечно использовать _getch() из conio.h, и тогда \b поймаешь, но conio.h в стандарт не входит.
>Подскажите, что это за символ такой, что это вообще, символ забоя? ! BackSpace?
Да, это он.
>Тогда как я его должен заменить на "/b"?
Я в плюсах не силен, но по-моему как-то так:
if (c == '\b') cout >> "\\b" >>
В общем, надеюсь, идея ясна.
Да, это он.
>Тогда как я его должен заменить на "/b"?
Я в плюсах не силен, но по-моему как-то так:
if (c == '\b') cout >> "\\b" >>
В общем, надеюсь, идея ясна.
Можно печатать Ctrl+H
и си поймет что это символ забоя и заменит его на /b
и си поймет что это символ забоя и заменит его на /b
Похожие вопросы
- Изображение символов компьютера
- Visual Basic. Как в переменной удалить определенные символы?
- FASM. Замена символов в строке, используя подпрограммы.
- Условие при котором отбираются слова 5 или более символов. Язык Си.
- Как удалить символ из переменной типа строки в PHP?
- Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле С++
- Как создать свой символ? В таблице символов нет такого, что мне нужно.
- Ассемблер, вывод символа
- С++. Чтение символов.
- Есть ли общая таблица всех символов в программировании и кто её редактирует?