summaryrefslogtreecommitdiff
path: root/contrib/iostream3/test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/iostream3/test.cc')
-rw-r--r--contrib/iostream3/test.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/contrib/iostream3/test.cc b/contrib/iostream3/test.cc
new file mode 100644
index 0000000..9ffa8be
--- /dev/null
+++ b/contrib/iostream3/test.cc
@@ -0,0 +1,50 @@
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
11int 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}