Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
NetCoder
0 / 0 / 0
Регистрация: 24.05.2014
Сообщений: 14
#1

Как запретить преобразование типов при использовании cin - C++

19.11.2015, 22:05. Просмотров 176. Ответов 1
Метки нет (Все метки)

Как запретить преобразование типов при использовании объекта потокового ввода cin. Проблема в том, что существует переменная типа int и со спецификатором unsigned, если при вызове cin ввести отрицательное число, то произойдет преобразование типа, как этого избежать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2015, 22:05     Как запретить преобразование типов при использовании cin
Посмотрите здесь:
C++ Почему при использовании getline( std::cin, str ) строка считывается не так, как ожидается?
Безконечый цикл при использовании cin и getline() C++
C++ Почему портится поток cin при использовании функции getline
Обращение по нулевому указателю при преобразование типов C++
C++ Преобразование типов, как понять фразу из учебника
C++ Как осуществляется преобразование типов (для чего)?
C++ Как запретить компилятору неявное преобразование из числового типа в символьный?
C++ Преобразование типов - как строку чисел перевести в целочисленный массив ?
C++ Строковые потоки. Преобразование типов (как сделать чтобы из строки число полностью преобразовывалось в double без потери чисел)
преобразование типов C++
C++ Преобразование типов
C++ преобразование типов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1823 / 1241 / 288
Регистрация: 05.06.2014
Сообщений: 3,551
19.11.2015, 22:27     Как запретить преобразование типов при использовании cin #2
Вот так что выдает (codepad успешно ловит -1 и пишет о ошибке)?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include<sstream>
using namespace std;
 
int main() {
    stringstream stream("-1");
    unsigned int x=0;
    stream>>x;
    if(stream)
        cout<<x;
    else
        cout<<"error";
    return 0;
}
Yandex
Объявления
19.11.2015, 22:27     Как запретить преобразование типов при использовании cin
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru