Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Метод underflow класса flebuf,как он работает?

5.3K
26 августа 2007 года
!Волк
95 / / 19.07.2006
Может кто нить пытался делать свои классы, наследуя их от iostream и filebuf, чтобы ввести свою специфику ввода /выода текстовой информации. Я использую эти два класса, чтобы взять из них преобразование различных типов(целочисленных, с плавающей точкой и char) в текст и обратно. В классе, который наследуется от filebuf, есть переопределенние метода underflow, который используется для передачи символов из вне, для преобразования текста в типы данных и последующей выдаче в соответствующие переменные. Когда в тесте программы встречается к примеру следующее:
 
Код:
int i;
cout<<"Введите значение переменной i= "; //ето нас не интересует
cin>>i;       //сдесь начинается вызов  функции underflow

Начинается циклический вызов метода underflow, в котором мы посимвольно сбрасываем строку текста. В конце мы бросаем EOF, и вызов функции прекращается. Тут вроде бы все правельно. Но, почему то когда я сбрасываю например строку "12345", то в переменной "i" окажется значение i=1, а должно быть i=12345; В общем, я не могу понять почему так. Символы underflow считала все, а в переменной только первый символ оказался. Может кто знает, как ето испавить?)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог