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

Как определить тип данных потока istream - C++

Восстановить пароль Регистрация
 
mh-coder
24 / 23 / 2
Регистрация: 01.02.2014
Сообщений: 717
26.06.2014, 16:09     Как определить тип данных потока istream #1
создал класс, перегрузил оператор ввода

C++
1
2
istream & operator >>(istream& in, Stack& cl){
}
дальше нужно передать данные в нужную функцию, вопрос, как определить введённый тип данных?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
26.06.2014, 16:37     Как определить тип данных потока istream #2
Тип каких данных? Что вы вообще пытаетесь сделать?
mh-coder
24 / 23 / 2
Регистрация: 01.02.2014
Сообщений: 717
26.06.2014, 17:03  [ТС]     Как определить тип данных потока istream #3
в класе перегружена функция, принимает чар и инт, каким макаром мне ей передать данные из потока чтоы копилятор определил тип?
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
26.06.2014, 17:06     Как определить тип данных потока istream #4
Так же, как и для стандартного ввода:
C++
1
2
char c;
cin >> c;
Только вместо cin подставьте свой поток.
mh-coder
24 / 23 / 2
Регистрация: 01.02.2014
Сообщений: 717
26.06.2014, 17:59  [ТС]     Как определить тип данных потока istream #5
так ввожу сразу в класс

C++
1
2
istream & operator >>(istream& in, Stack& cl){
}
мне нужно определить тип который пишол в потоке istream& in
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
26.06.2014, 18:28     Как определить тип данных потока istream #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как вариант:

C++
1
2
3
4
5
6
7
8
    char ch=0;
    int number=0;
    in >> number;
    if(!in)
    {
        in.clear();
        in >> ch;
    }
mh-coder
24 / 23 / 2
Регистрация: 01.02.2014
Сообщений: 717
26.06.2014, 18:59  [ТС]     Как определить тип данных потока istream #7
BatonPro, мм, такой вопрос, а что если я например ввёл букву , то после in >> number; в in будет false|0 ?? если да то почему?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2014, 19:26     Как определить тип данных потока istream
Еще ссылки по теме:

Определить тип данных полей структуры C++
C++ Определить тип данных пришедших через шаблон
Определить тип данных принимающих только 3 значения C++

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

Или воспользуйтесь поиском по форуму:
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
26.06.2014, 19:26     Как определить тип данных потока istream #8
Если вы попытаетесь из потока прочитать число, а там будет буква, состояние потока будет ошибочным и вводить из него больше нельзя, получить состояние потока можно применив к нему оператор !, который вернет true если состояние ошибочное и false если с потоком всё в порядке. После этого можно сбросить состояние потока с помощью метода clear и продолжить ввод.
Yandex
Объявления
26.06.2014, 19:26     Как определить тип данных потока istream
Ответ Создать тему
Опции темы

Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru