Как стереть прочитанный символ во время чтения, используя getch () - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь прочитать строку, используя getch () в цикле.Когда я нажимаю клавишу возврата, она читается как символ.Поэтому, когда я нажимаю клавишу Backspace, мне нужно стереть прочитанный символ.Мне нужно стереть с экрана.

while((c=getch())!=13)
{
    if(c==8)
    {
        i=i-1;
    }
    else
    {
        printf("*");
        str[i]=c;
        i++;
    }
}
str[i]='\0';

1 Ответ

0 голосов
/ 27 декабря 2018

Полагаю, вы хотите прочитать пароль

char str[100];
int c;
int i=0;

while((c=getch())!='\r')
{
  if(c!='\b')
  {
    printf("*"); // putchar not ok with MSVC ?
    str[i++]=c;
  }
  else if (i != 0) {
    printf("\b"); // or putchar
    i -= 1;
  }
}
str[i]='\0';
printf("str=%s\n", str);

, если код пропущен при проверке пароля длиной не более 99 символов ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...