C.F.C. Ответов: 2

Cin не может работать при переполнении номера


Я хочу проверить номер с длинным длинным типом данных.
Ниже приведен мой код. Проблема в том, что если я введу число выше 9,223,372,036,854,775,807, функция не остановится на cin, поэтому контурная схема будет продолжать работать.

Что я уже пробовал:

#include <iostream>

using namespace std;

// A[100]={0};
long long number=0;

int main()
{
    for(int x=0; x<1000;x++)
        {
        cout<<"enter a number";
        cin>>number;
        long long Number_out=number;
        cout<<endl<<"Number out"<<Number_out<<endl;
        }
}

jeron1

Вы ожидаете вырваться из цикла for, если cin потерпит неудачу? Может быть, взглянете сюда.
c++ - правильный способ использования cin. fail () - переполнение стека[^]

2 Ответов

Рейтинг:
1

Arthur V. Ratz

Попробуйте использовать его с типами данных _ _ int32, _ _ int64.


Рейтинг:
0

vivek payal

используйте длинный двойной ... тип переменной