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; | ||
|  | 
 | ||
|  | } |