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

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

Войти
Регистрация
Восстановить пароль
 
emmure
2 / 2 / 0
Регистрация: 15.12.2012
Сообщений: 93
#1

Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) - C++

15.05.2013, 04:14. Просмотров 823. Ответов 10
Метки нет (Все метки)

Возможно многие знают что если использовать библиотеку windows.h, и функцию cin.ignore(numeric_limits<streamsize>::max(), '\n'); выдаётся множество ошибок, можно ли это как нибудь обойти?

Добавлено через 5 минут
#define NOMINMAX не предлагать, т.к с ним функция SetConsoleCursorPosition в Windows.h работает некорректно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 04:14     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max())
Посмотрите здесь:

Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') - C++
Компилятор MSVS 2010, проблема с max, как мне это устранить? использовала define, но либо я не там ставила (и библиотеки тоже),...

cin.ignore - C++
Как работает эта функция? cin.ignore (1, '#');

Избавиться от cin.ignore() - C++
Приветствую всех! Написал простенькую программку для работы с классами. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using std::cout;...

Что делает cin.ignore(); - C++
Поясните мне, какое действие выполняет функция: cin.ignore(); Лучше на примере каком нибудь!(с комментариями) Может быть это что-то...

Друзья getline и cin.ignore - C++
Постараюсь как можно более точно обрисовать проблему. Имеется string * v1 = new string; string * v2 = new string; string * v3 = new...

Что делает метод cin.ignore? - C++
cin.ignore(0,'\n'); Что она делает?

Как работает cin.ignore(), именно в том случае, когда он написан без параметров? - C++
Объясните, пожалуйста, как работает cin.ignore(), именно в том случае, когда написан без параметров заранее спасибо!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
15.05.2013, 12:21     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #2
emmure, вот здесь почитайте Область видимости, пространства имен
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 163
18.12.2015, 14:14     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #3
А что делает numeric_limits?

Добавлено через 3 минуты
Вот полная строка которая меня интересует...
C++
1
int max = numeric_limits<int>::min();
Добавлено через 39 секунд
Расскажите что тут, если надо могу скинуть код...
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
18.12.2015, 14:25     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #4
Цитата Сообщение от emmure Посмотреть сообщение
#define NOMINMAX не предлагать, т.к с ним функция SetConsoleCursorPosition в Windows.h работает некорректно
C++
1
2
3
4
5
//...
#include <windows.h>
#undef max
#undef min
//...
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 163
18.12.2015, 14:29     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #5
Croessmah, Подскажи, что в строчке написано?
C++
1
int max = numeric_limits<int>::min();
nmcf
5114 / 4434 / 1475
Регистрация: 14.04.2014
Сообщений: 17,577
18.12.2015, 14:31     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #6
Минимальное допустимое значение для int.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.12.2015, 14:32     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #7
Croessmah, вперед в прошлое?
Цитата Сообщение от ITALIANO Посмотреть сообщение
А что делает numeric_limits?
Ровно то, на что заточен - получить информацию об арифметических типах.
http://www.cplusplus.com/reference/l...umeric_limits/
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 163
18.12.2015, 14:38     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #8
Tulosba, Типа указывает целочисленное значение min?

C++
1
int max = numeric_limits<int>::min();
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
18.12.2015, 14:43     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #9
Цитата Сообщение от ITALIANO Посмотреть сообщение
Типа указывает целочисленное значение min?
По ссылке, что я привел, есть табличка. Там всё написано:
Minimum finite value.
В переводе на русский (если с английским туго):
Минимальное конечное значение.
Т.е. в данном случае минимальное значение, представимое типом int на конкретно взятой системе.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
18.12.2015, 14:45     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #10

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
вперед в прошлое?
семимильными шагами



Добавлено через 10 секунд

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
вперед в прошлое?
семимильными шагами

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2015, 14:46     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max())
Еще ссылки по теме:

Как исправить ошибку с std::cin - C++
помогите у меня пропускает последующие вводы если вводишь знак или букву вот код std::cout&lt;&lt;&quot;A: &quot;; std::cin&gt;&gt;AA; ...

Исправить ошибку, при которой не работает cin после vector'a (лишний символ '\n' в потоке ввода) - C++
Столкнулся с этой проблемой в другой программе,но решил написать более примитивную и посмотреть, что будет. В итоге тоже самое после cin...

numeric_limits и int8_t - C++
Eсли скомпилировать и запустить auto max = numeric_limits&lt;int8_t&gt;::max(); cout &lt;&lt; max &lt;&lt; endl &lt;&lt; sizeof(max) &lt;&lt; endl; ...

numeric_limits<unsigned int>::digits - C++
при запуске такой скомпилиной проги на 32р. системе должно вывести bits in int: 32 а при запуске на 64р. системе bits in int: 64 так...

error: 'numeric_limits' is not a member of 'std' - C++
Как бороться с этой гогой?


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

Или воспользуйтесь поиском по форуму:
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 163
18.12.2015, 14:46     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #11
Tulosba, благодарю за внятный ответ
Yandex
Объявления
18.12.2015, 14:46     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max())
Ответ Создать тему
Опции темы

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