51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * 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;
 | |
| 
 | |
| }
 | 
