Arith-N 是可以在命令行指定阶数的 N 阶上下文自适应算术编码通用压缩、解压缩程序

源代码在线查看: main-e.cpp

软件大小: 13 K
上传用户: a195767236
关键词: Arith-N 命令行 算术编码 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				
				// main-e.cpp
				
				#include 
				#include 
				#include 
				#include "bitio.h"
				#include "errhand.h"
				#include "main.h"
				
				void usage_exit( char * prog_name );
				
				int main( int argc, char * argv[] )
				{
					FILE* output;
					BIT_FILE* input;
					setbuf(stdout, NULL);
					if (argc < 3)
						usage_exit(argv[0]);
					input = OpenInputBitFile(argv[1]);
					if (input == NULL)
						fatal_error("Error opening %s for input\n", argv[1]);
					output = fopen(argv[2], "wb");
					if (output == NULL)
						fatal_error("Error opening %s for output\n", argv[2]);
					printf("\nExpanding %s to %s\n", argv[1], argv[2]);
					printf("Using %s\n", CompressionName);
					argc -= 3;
					argv += 3;
					ExpandFile(input, output, argc, argv);
					CloseInputBitFile(input);
					fclose(output);
					putc('\n', stdout);
					return 0;
				}
				
				void usage_exit(char* prog_name)
				{
					char* short_name;
					char* extension;
				
					short_name = strrchr(prog_name, '\\');
					if (short_name == NULL)
						short_name = strrchr(prog_name, '/');
					if (short_name == NULL)
						short_name = strrchr(prog_name, ':');
					if (short_name != NULL)
						short_name++;
					else
						short_name = prog_name;
					extension = strrchr(short_name, '.');
					if (extension != NULL)
						*extension = '\0';
					printf("\nUsage: %s %s\n", short_name, Usage);
					exit(0);
				}			

相关资源