Exemple #1
0
int main(int argc, char** argv){
  
    FILE* fptr;
    int len = 0;
    char bit_char  ;
    HuffNode* head;
    
    
    if(!CheckArgCount(argc)){
       return EXIT_FAILURE;
    }
    if((fptr = OpenFile(argv[1], "rb")) == NULL){
        return EXIT_FAILURE;
    }
    
    len = strlen(argv[1]);
    bit_char = argv[1][len - 1];
    

    head = headerfileread(fptr,bit_char);
    
    Huff_postOrderPrint(head);
    CloseFile(fptr);
    
    DestroySnode(head);
    
    return EXIT_SUCCESS;
}
Exemple #2
0
int main(int argc, char *argv[]) {
	if (CheckArgCount(argc) == 0) {
		return EXIT_FAILURE;
	}
	/* Open the input file */
	FILE* fptr = NULL;
	if ((fptr = OpenFile(argv[1], "rb")) == NULL) {
		return EXIT_FAILURE;
	}
   /* Generate the huffman tree from the header of the file */
	LEAF* head = NULL;
	int charactersInData;
	if ((head = GenerateTree(fptr, &charactersInData)) == NULL) {	/* After this call fptr is pointing to the data */
		return EXIT_FAILURE;
	}
	/* Open the output file */
	FILE* outfptr = NULL;
	if ((outfptr = OpenFile(argv[2], "w+")) == NULL) {
		return EXIT_FAILURE;
	}
	/* Print the data to the output file */
	DecodeUsingTree(fptr, outfptr, head, charactersInData);	/* When we make this call fptr is pointing directly to the data */
	
	fclose(fptr);
	fclose(outfptr);
// 	PostOrderWalk(head);
	DestroyTree(head);
	return EXIT_SUCCESS;
}
Exemple #3
0
int main(int argc, char *argv[]) {
	if (CheckArgCount(argc) == 0) {
		return EXIT_FAILURE;
	}
	
	FILE* fptr = NULL;
	if ((fptr = OpenFile(argv[1], "rb")) == NULL) {
		return EXIT_FAILURE;
	}
   
	LEAF* head = NULL;
	if ((head = GenerateTree(fptr)) == NULL) {
		return EXIT_FAILURE;
	}
	
	fclose(fptr);
	PostOrderWalk(head);
	DestroyTree(head);
	return EXIT_SUCCESS;
}