• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
main()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 }
51