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