首页 > 解决方案 > 我怎样才能让退格不算作一个字符?

问题描述

所以,我必须用密码加密我的控制台应用程序,我做了一些工作但有一个问题,backsapce 不会删除输入的字符,它也算作一个字符,我怎样才能让它完成它的工作,抹去人物?

这是代码:

void main()
{
    char password[20], my_password[20] = "password";
    int i;
    char ch;
    system("cls");
    cout << "PASSWORD: ";


    i = 0;
    do
    {
        ch = _getch();
        password[i] = ch;
        if (ch != 27 && ch != 13 && ch != 9)
            cout<<"*";
        else
            break;
        i++;
    } while (i < 19);
    password[i] = '\0';



    if (strcmp(password, my_password) != 0) 
    {
        cout << "\n\nIncorrect password !!!";
        cin.get();
        return;
    }
    cout << "\n\nPassword is correct !";
    cout <<"\n\nThe program is executed !";
    cin.get();
}

标签: c++

解决方案


“我怎样才能让它完成它的工作,抹去这个角色?”

使用curses图书馆。像ncurses


推荐阅读