]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | } |