Подтверждение, если один символ является символом

Я хочу проверить, является ли символ на самом деле символом. Когда пользователь вводит строку букв, программа «abc» скажет, что пользователь должен ввести один символ.

Я думал об использовании

if(sizeof(userLetter != 1))
{
cout << "Enter only a single letter."}

Проблема в том, что userLetter инициализируется как символ, он автоматически обрезает оставшиеся буквы и считает, что пользователь вводит только одну букву.

Есть ли способ проверить, действительно ли пользователь вводит только 1 букву без инициализации userLetter в виде строки?

-2

Решение

Если вы читаете символ, он будет читать только один и сохранять следующие символы в буфере.

Если вы хотите взять все, что пользователь вводит, пока он не нажмет первый ввод, вам нужно получить строку:

 string line;
while (getline(cin, line) && (line.length()==0 || line.length()>1) )
cout << "Enter only a single letter..."<<endl;

Когда это закончится успешно, получите первый символ строки с userLetter = line[0];

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]