diff options
author | Aki <please@ignore.pl> | 2021-09-29 21:52:57 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2021-09-29 21:52:57 +0200 |
commit | 86684427ef55fdad89bccf6afb3de8085ae4580a (patch) | |
tree | beae38abc6a89c6388407f5eab60c1bd6ebdc1d1 /zlib/contrib/iostream3/test.cc | |
parent | 6ebfc6e07d5c4fc701ce522391616550d197881a (diff) | |
parent | 07162fa301835387e4da4278326ec1ff45d1dc3e (diff) | |
download | starshatter-86684427ef55fdad89bccf6afb3de8085ae4580a.zip starshatter-86684427ef55fdad89bccf6afb3de8085ae4580a.tar.gz starshatter-86684427ef55fdad89bccf6afb3de8085ae4580a.tar.bz2 |
Merge commit '07162fa301835387e4da4278326ec1ff45d1dc3e' as 'zlib'
Diffstat (limited to 'zlib/contrib/iostream3/test.cc')
-rw-r--r-- | zlib/contrib/iostream3/test.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/zlib/contrib/iostream3/test.cc b/zlib/contrib/iostream3/test.cc new file mode 100644 index 0000000..9423533 --- /dev/null +++ b/zlib/contrib/iostream3/test.cc @@ -0,0 +1,50 @@ +/* + * Test program for gzifstream and gzofstream + * + * by Ludwig Schwardt <schwardt@sun.ac.za> + * original version by Kevin Ruland <kevin@rodin.wustl.edu> + */ + +#include "zfstream.h" +#include <iostream> // for cout + +int main() { + + gzofstream outf; + gzifstream inf; + char buf[80]; + + outf.open("test1.txt.gz"); + outf << "The quick brown fox sidestepped the lazy canine\n" + << 1.3 << "\nPlan " << 9 << std::endl; + outf.close(); + std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" + << "The quick brown fox sidestepped the lazy canine\n" + << 1.3 << "\nPlan " << 9 << std::endl; + + std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; + inf.open("test1.txt.gz"); + while (inf.getline(buf,80,'\n')) { + std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; + } + inf.close(); + + outf.rdbuf()->pubsetbuf(0,0); + outf.open("test2.txt.gz"); + outf << setcompression(Z_NO_COMPRESSION) + << "The quick brown fox sidestepped the lazy canine\n" + << 1.3 << "\nPlan " << 9 << std::endl; + outf.close(); + std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; + + std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; + inf.rdbuf()->pubsetbuf(0,0); + inf.open("test2.txt.gz"); + while (inf.getline(buf,80,'\n')) { + std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; + } + inf.close(); + + return 0; + +} |