#include #include using namespace std; ifstream infile; unsigned char getNextChar() { static int charCount = 0; unsigned char ch; cout <<"."; ch = infile.get(); if (infile.eof()) { cout << endl; exit (0); } if (charCount >= 5) { charCount = 0; cout << endl << "."; } charCount ++; return ch; } char getBit() { static unsigned char mask = 0; static unsigned char ch; char retChar; if (mask == 0) { mask = 128; ch = getNextChar (); //cout << "{" << ch << ":" << hex << (int)ch << "}"; } //cout << "<" << hex << (int)mask << ">"; //cout << "[" << hex << (int)(mask & ch) << "]"; if ((mask & ch) == 0) retChar = '0'; else retChar = '1'; mask = mask >> 1; return retChar; } int main (int argc, char *argv[]) { char bit; int i; //for (i = 0; i < argc; i++) //cout << i << ": " << argv[i] << endl; if (argc < 2) { cout << "Usage: " << argv[0] << " filename " << endl; exit(1); } cout << argv[0] << ": opening file " << argv[1] << endl; infile.open (argv[1]); i = 0; while (!infile.eof()) //while (i < 500) { bit = getBit (); cout << bit; i++; } }