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 | } |
---|