test.cc revision 11293
111293Sandreas.hansson@arm.com/* 211293Sandreas.hansson@arm.com * Test program for gzifstream and gzofstream 311293Sandreas.hansson@arm.com * 411293Sandreas.hansson@arm.com * by Ludwig Schwardt <schwardt@sun.ac.za> 511293Sandreas.hansson@arm.com * original version by Kevin Ruland <kevin@rodin.wustl.edu> 611293Sandreas.hansson@arm.com */ 711293Sandreas.hansson@arm.com 811293Sandreas.hansson@arm.com#include "zfstream.h" 911293Sandreas.hansson@arm.com#include <iostream> // for cout 1011293Sandreas.hansson@arm.com 1111293Sandreas.hansson@arm.comint main() { 1211293Sandreas.hansson@arm.com 1311293Sandreas.hansson@arm.com gzofstream outf; 1411293Sandreas.hansson@arm.com gzifstream inf; 1511293Sandreas.hansson@arm.com char buf[80]; 1611293Sandreas.hansson@arm.com 1711293Sandreas.hansson@arm.com outf.open("test1.txt.gz"); 1811293Sandreas.hansson@arm.com outf << "The quick brown fox sidestepped the lazy canine\n" 1911293Sandreas.hansson@arm.com << 1.3 << "\nPlan " << 9 << std::endl; 2011293Sandreas.hansson@arm.com outf.close(); 2111293Sandreas.hansson@arm.com std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" 2211293Sandreas.hansson@arm.com << "The quick brown fox sidestepped the lazy canine\n" 2311293Sandreas.hansson@arm.com << 1.3 << "\nPlan " << 9 << std::endl; 2411293Sandreas.hansson@arm.com 2511293Sandreas.hansson@arm.com std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; 2611293Sandreas.hansson@arm.com inf.open("test1.txt.gz"); 2711293Sandreas.hansson@arm.com while (inf.getline(buf,80,'\n')) { 2811293Sandreas.hansson@arm.com std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 2911293Sandreas.hansson@arm.com } 3011293Sandreas.hansson@arm.com inf.close(); 3111293Sandreas.hansson@arm.com 3211293Sandreas.hansson@arm.com outf.rdbuf()->pubsetbuf(0,0); 3311293Sandreas.hansson@arm.com outf.open("test2.txt.gz"); 3411293Sandreas.hansson@arm.com outf << setcompression(Z_NO_COMPRESSION) 3511293Sandreas.hansson@arm.com << "The quick brown fox sidestepped the lazy canine\n" 3611293Sandreas.hansson@arm.com << 1.3 << "\nPlan " << 9 << std::endl; 3711293Sandreas.hansson@arm.com outf.close(); 3811293Sandreas.hansson@arm.com std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; 3911293Sandreas.hansson@arm.com 4011293Sandreas.hansson@arm.com std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; 4111293Sandreas.hansson@arm.com inf.rdbuf()->pubsetbuf(0,0); 4211293Sandreas.hansson@arm.com inf.open("test2.txt.gz"); 4311293Sandreas.hansson@arm.com while (inf.getline(buf,80,'\n')) { 4411293Sandreas.hansson@arm.com std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 4511293Sandreas.hansson@arm.com } 4611293Sandreas.hansson@arm.com inf.close(); 4711293Sandreas.hansson@arm.com 4811293Sandreas.hansson@arm.com return 0; 4911293Sandreas.hansson@arm.com 5011293Sandreas.hansson@arm.com} 51