Удаление символа по нажатию клавиши backspace - C (СИ)
Формулировка задачи:
в общем у меня есть код
Он служит для того чтобы при вводе символа вместо самого символа выводилась *. Теперь вопрос: как сделать так, что при нажатии backspace стиралась эта самая *
#include <malloc.h>
#include <stdio.h>
#include <conio.h>
#include "file_work.h"
char* stype()
{
char* pass=(char*)malloc(sizeof(char)*255);
for(int cx=0;cx<254;cx++)
{
pass[cx]=_getch();
if(pass[cx]=='\b' || pass[cx]=='\r')
{
printf("");
}
else
{
printf("*");
}
if(pass[cx]=='\r')
{
pass[cx]='\0';
break;
}
}
return pass;
}Решение задачи: «Удаление символа по нажатию клавиши backspace»
textual
Листинг программы
a=getch();
if(a==8) //ГЄГ«Г*ГўГЁГёГ* backspace
{
cout<<(char)a;
cout<<" ";
cout<<(char)a;
}
Объяснение кода листинга программы
a=getch();- В этой строке программа получает ввод пользователя и сохраняет его в переменнуюa.if(a==8)- Если значение переменнойaравно 8, то выполняется следующий блок кода.cout<<(char)a;- Выводится символ, соответствующий значению переменнойa, при этом символ автоматически преобразуется в типchar.cout<<;- Выводится пробел.cout<<(char)a;- Выводится символ, соответствующий значению переменнойa, при этом символ автоматически преобразуется в типchar.