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

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

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

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

15.05.2013, 04:14. Просмотров 784. Ответов 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())
Посмотрите здесь:

C++ Друзья getline и cin.ignore
C++ Не работает getline(cin,s), istream.ignore()
Как исправить ошибку с std::cin C++
cin.ignore C++
Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') C++
C++ Избавиться от cin.ignore()
Что делает метод cin.ignore? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
15.05.2013, 12:21     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #2
emmure, вот здесь почитайте Область видимости, пространства имен
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 145
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Эксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,477
Записей в блоге: 2
Завершенные тесты: 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
Сообщений: 145
18.12.2015, 14:29     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #5
Croessmah, Подскажи, что в строчке написано?
C++
1
int max = numeric_limits<int>::min();
nmcf
4480 / 3818 / 1288
Регистрация: 14.04.2014
Сообщений: 14,990
18.12.2015, 14:31     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #6
Минимальное допустимое значение для int.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
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
Сообщений: 145
18.12.2015, 14:38     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #8
Tulosba, Типа указывает целочисленное значение min?

C++
1
int max = numeric_limits<int>::min();
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.12.2015, 14:43     Исправить код, вызывающий cin.ignore(numeric_limits<streamsize>::max()) #9
Цитата Сообщение от ITALIANO Посмотреть сообщение
Типа указывает целочисленное значение min?
По ссылке, что я привел, есть табличка. Там всё написано:
Minimum finite value.
В переводе на русский (если с английским туго):
Минимальное конечное значение.
Т.е. в данном случае минимальное значение, представимое типом int на конкретно взятой системе.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,477
Записей в блоге: 2
Завершенные тесты: 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())
Еще ссылки по теме:

C++ Как работает Cin.ignore()
C++ Зачем нужна функция cin.ignore()?
C++ Исправить ошибку, при которой не работает cin после vector'a (лишний символ '\n' в потоке ввода)
C++ Как работает cin.ignore(), именно в том случае, когда он написан без параметров?
C++ Что делает cin.ignore();

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

Или воспользуйтесь поиском по форуму:
ITALIANO
1 / 1 / 1
Регистрация: 24.10.2014
Сообщений: 145
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())
Ответ Создать тему
Опции темы

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