如何在我的c ++程序中删除退格键

时间:2018-06-04 15:57:19

标签: visual-c++

__input create;__ 
//input is the class for saving username and password

char c = getch();
while(c!='\n'&&c!='\r'&&c!='\b') /*does my while loop have to be modified to 
check if the ASCII for backspace was entered*/  
{

    create.password += c;
    system("cls");

    cout << "Create an account" << endl << endl;

    cout << "Email: " << endl;

    cout << create.email << endl;


    cout << endl << "Username: " << endl;
    cout << create.name << endl;


    cout << endl << "Password: " << endl;
    cout << string(create.password.size(),'*');

//这些是用户名和密码的输入,它们都是字符串

    c = getch();
}

// PS我是新手,所以任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

好吧,退格区被视为char,因为它是char。虽然不是一个可打印的charachter,但是一个控制角色。如果您查看ASCII表,您会看到它由8表示,就像'a' == 97一样。

因此,您只需检查循环中的c == 8并执行您想要的任何操作,例如删除密码的最后一个字符。