~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to lib/zlib/contrib/iostream3/test.cc

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}