📄 main.c
字号:
/*************************************************************************
* COPYRIGHT (C) 2007, Hans Qin
* ALL RIGHTS RESERVED
*************************************************************************/
/*!
* \main.c
* This is a test file for zlib
* the platform is FlySUN's at91rm9200 dvk2.3.
*
* Module name: Super-C
* Inmarsat C transiver controller
*
* $RCSfile: bootloader.c,v $
* $Date: 2007/10/22 03:26:59 $
* $Author: Hans Qin $
* $Revision: 1.25.2.15 $
*
* \par Update History
* 0.1.1 2007-10-22 Initial - Hans Qin\n
*/
#include <stdio.h> /* printf */
#include <fcntl.h> /* open */
#include <string.h> /* bzero */
#include <stdlib.h> /* exit */
#include <unistd.h> /* read, write, close */
#include <sys/stat.h> /* lstat */
#include <sys/types.h>
#include <errno.h>
#include "zlib/zlib.h"
unsigned long dest_len;
unsigned long sour_len;
unsigned char dest_buf[10240];
unsigned char sour_buf[10240];
int main (int argc, char *argv[])
{
/******************************************************************************************/
/*
* test zlib compress&uncompress function
*/
int retval;
FILE *file;
struct stat info;
unsigned long num;
if(stat("test.txt", &info)!= -1){
sour_len = info.st_size;
printf("FILE LENGTH: %d\n",(unsigned int)sour_len);
}else{
perror("Unable to get file length!");
exit(0);
}
file = fopen("test.txt","r");
if(file != NULL){
num = fread(sour_buf,1,sour_len,file);
if(num == sour_len){
printf("Read file OK!\n");
}else{
printf("Read file FAIL!\n");
}
fclose(file);
}else{
perror("opem file FAIL!\n");
exit(0);
}
//compress the file
dest_len = 10240;
retval = compress(dest_buf, &dest_len, sour_buf, sour_len);
printf("reval: %d dest_len: %d, sour_len: %d\n",retval,(unsigned int)dest_len,(unsigned int)sour_len);
if(retval == Z_OK){
file = fopen("compress.gz","wb");
if(file != NULL){
num = fwrite(dest_buf,1,dest_len,file);
if(num != dest_len){
perror("Write file fail!\n");
}
fclose(file);
}
}else{
perror("\ncompress test.txt fail!\n");
exit(0);
}
//uncompress the file
sour_len = 10240;
memset(sour_buf, 0, sour_len);
retval = uncompress(sour_buf, &sour_len, dest_buf, dest_len);
if(retval == Z_OK){
printf("dest_len: %d, sour_len: %d",(unsigned int)dest_len,(unsigned int)sour_len);
file = fopen("uncompress.txt","wb");
if(file != NULL){
num = fwrite(sour_buf,1,sour_len,file);
if(num != sour_len){
perror("Write file fail!\n");
}
fclose(file);
}
}else{
perror("\nuncompress fail!\n");
exit(0);
}
exit(0);
/******************************************************************************************/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -