Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2014, 02:20   #1
Артур_1993
 
Регистрация: 28.11.2012
Сообщений: 3
Вопрос Флаги Состояния Потока В/в, Функции (C++).

Привет гуру. Недавно начал изучать C++, до этого писал на чистом C. Хочу попросить вашей помощи с решением.

Само задание:
Написать функцию, получающую и возвращающую ссылку на объект класса istream. Функция должна читать данные из потока до тех пор, пока не будет достигнут конец файла. Функция должна выводить прочитанные данные на стандартное устройство вывода. Перед возвращением потока верните все значения его флагов в допустимое состояние. Проверьте созданную функцию, передав ей при вызове объект cin в качестве аргумента.

Вот что я написал (понимаю что не совсем по заданию, но пока ещё не силён в C++):
Код:
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    const int SIZE(64);
    int i(1);
    char buffer[ SIZE ];
    while( i == 1 ) {
        cout << "\nВведите стрку и нажмите Ctrl+D (символ конец файла): ";
        cin.get(buffer, SIZE, EOF);
        cout << "\n";
        cout << "\nФлаги до сброса: " << endl;
        cout << "Флаг состояния eof(): " << cin.eof() << endl;
        cout << "Флаг состояния bad(): " << cin.bad() << endl;
        cout << "Флаг состояния fail(): " << cin.fail() << endl;
        cout << "Флаг состояния good(): " << cin.good() << endl;
        cin.clear();
        cout << "\nПовторить ввод (1/0)?" << endl;
        cin >> i;
        if ( i == 1) {
            cout << "\nФлаг  после сброса: " << endl;
            cout << "Флаг состояния eof(): " << cin.eof() << endl;
            cout << "Флаг состояния bad(): " << cin.bad() << endl;
            cout << "Флаг состояния fail(): " << cin.fail() << endl;
            cout << "Флаг состояния good(): " << cin.good() << endl;
        } else {
            break;
        }
    }
    return 0;
}
Задание вроде простое, но после чистого C возникают непонятности.
Хочу узнать от вас как будет правильно написать код по заданию? Интересует любая информация.
Артур_1993 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение состояния потока DarkSmile Win Api 12 29.07.2014 20:37
Установить флаги OF, DF, ZF и CF. Остальные флаги сбросить. Anderkor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 30.11.2012 17:12
Должно быть 3 потока. А диспетчер задач показывает, что потока создано 2 BEL9ILLI Общие вопросы Delphi 3 06.12.2011 20:26
Многопоточность. Безопасный доступ к переменной/функции из потока. Lime Общие вопросы Delphi 17 21.10.2011 18:39
Создание потока,передача функции в поток asdasys Помощь студентам 4 25.02.2011 17:30