Вопрос: как проверить тип введенных данных?

  • Автор темы Автор темы @LE}{@NDER
  • Дата начала Дата начала
@

@LE}{@NDER

Здрасте!
столкнулся с такой запарой, когда писал код обработки исключительных ситуаций:
int A;
cout<<"Ввод данных: "; cin>>A;
if (A ....... //Вот она запара! Как осуществить проверку, введена ли A как int или char
throw WrongType();
 
Как со стримом незнаю, но можно сдлать так:

Код:
		int A = 0;
cout << "Enter value: "; 

if (scanf("%d", &A) <= 0)
{
cout << "Error" << endl;
}
 
Спасибо!
Пожалуй это действительно оптимальное решение.
Пробовал еще играться с isalnum() isalpha() - что то это не очень у меня работало... :(
Очевидно правду говорят: Простота - сестра гениальности! :huh:
 
Все можно сделать и силами голого С++:
Код:
#include <iostream>
using namespace std;


int main()
{

int value;

do
{
cout << "Input value: ";
cin.clear();
cin.sync();
cin >> value;
}
while ( cin.fail() );

return 0;
}
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab