LINUX.ORG.RU

И как сделать это красиво?...


0

0

Доброе время суток, господа!
Возник небольшой вопрос по C++, а т.к. я еще не большой специалист в нем, то решил обратиться к местным гуру за помощью - вдруг чего подскажут. :) Итак, сущность вопроса такова:
Имеется некоторая функция, в которую передается ссылка на поток типа ifstream. Внутри функции данные из потока читаются побитно. Будь это C, я бы ввел структуру типа такой:
struct BitFILE {
FILE *f;
char byte; /* Последний прочитанный байт. */
char mask; /* Маска для маскирования отдельных бит. */
};
и написал бы пару функций:
char ReadBit(struct BitFILE FILE);
и
void WriteBit(struct BitFile FILE, char bit);

Если точно так же сделать на C++ (поменяв FILE на ifstream), то такое решение, на мой взгляд, не будет вписываться в концепцию C++. Может кто подскажет, как поставленную задачу решить КРАСИВО? :)

P.S. Заранее благодарен за ответы. :)


Нельзя сказать, что и приведенный пример на С вписывается в концепцию С.
А насчёт вопроса:
1. Замечание: ifstream --- это только чтение. А я вижу WriteBit. Следовательно, тебе нужен fstream.
2. Подсказываю:
class bitfstream: protected std::fstream
{
public:
    bitfstream &operator >> (char &c);
    bitfstream &operator << (const char c);
};

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.