Как убедиться, что ввод в символ не слишком длинный?

#c

#c

Вопрос:

Поэтому я пытаюсь убедиться, что пользователь вводит только один символ. Например, если ввод «ab», код выдаст исключение.

 char ch = ' '; std::cin gt;gt; ch;  // I'm stuck here  

Комментарии:

1. Введите строку и проверьте размер?

2. Введите целое std::string и проанализируйте его для извлечения значения и проверки.

3. Кроме того, почему вы хотите создать исключение для кого-то, кто вводит длинный ввод? ИМО, это перебор. Просто назначьте первый символ введенной строки с каким-нибудь приглашением, в котором говорится, что вы берете только первый символ.

4. @PaulMcKenzie Я делаю это для школы, вот о чем они просили.

Ответ №1:

Вы можете ввести входные данные в целую строку и обработать только первый символ:

 #include lt;stringgt; #include lt;iostreamgt;  int main() {  std::string input;  std::cin gt;gt; input;  char ch = ' ';  if ( input.size() gt; 1 )  {  // Entered more than 1 character  }  else  ch = input[0]; }