__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 Я новичок в этом, поэтому любой совет будет полезен.





Что ж, backspace считается char, потому что это char. Не печатный, а управляющий персонаж. Если вы посмотрите на таблицу ASCII, вы увидите, что она представлена номером 8, как и 'a' == 97.
Итак, вы можете просто проверить c == 8 в своем цикле и делать все, что хотите, например удалите последний символ вашего пароля.
как мне удалить последний символ во время цикла while?
Это полностью зависит от типа данных password. Вы этого не сказали. Если это std::string, то password.pop_pack() будет работать.
Извините, опечатка. Это pop_back, а не pop_pack
моя переменная пароля - это строка. мне нужно будет создать цикл for, где i <password.lenght (); и используйте оператор if, чтобы проверить, было ли введено значение ascii для backspace, и используйте функцию pop_back, чтобы удалить его ?.
Никакой дополнительной петли не требуется. В текущем цикле проверьте наличие возврата и удалите символ. Если это не backspace, делайте то, что делаете прямо сейчас.
Добро пожаловать в SO. Какой у Вас вопрос?