1 /* 2 * Test program for gzifstream and gzofstream 3 * 4 * by Ludwig Schwardt <schwardt@sun.ac.za> 5 * original version by Kevin Ruland <kevin@rodin.wustl.edu> 6 */ 7 8 #include "zfstream.h" 9 #include <iostream> // for cout 10 11 int main() { 12 13 gzofstream outf; 14 gzifstream inf; 15 char buf[80]; 16 17 outf.open("test1.txt.gz"); 18 outf << "The quick brown fox sidestepped the lazy canine\n" 19 << 1.3 << "\nPlan " << 9 << std::endl; 20 outf.close(); 21 std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" 22 << "The quick brown fox sidestepped the lazy canine\n" 23 << 1.3 << "\nPlan " << 9 << std::endl; 24 25 std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; 26 inf.open("test1.txt.gz"); 27 while (inf.getline(buf,80,'\n')) { 28 std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 29 } 30 inf.close(); 31 32 outf.rdbuf()->pubsetbuf(0,0); 33 outf.open("test2.txt.gz"); 34 outf << setcompression(Z_NO_COMPRESSION) 35 << "The quick brown fox sidestepped the lazy canine\n" 36 << 1.3 << "\nPlan " << 9 << std::endl; 37 outf.close(); 38 std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; 39 40 std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; 41 inf.rdbuf()->pubsetbuf(0,0); 42 inf.open("test2.txt.gz"); 43 while (inf.getline(buf,80,'\n')) { 44 std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 45 } 46 inf.close(); 47 48 return 0; 49 50 }