diff --git a/sk1/main.c b/sk1/main.c index 5b0b80b..59bcf00 100644 --- a/sk1/main.c +++ b/sk1/main.c @@ -1,9 +1,11 @@ +#include #include #include #include #include "compressor.h" -// Функція для виведення допомоги +#define BUFSIZE 1024 + void print_help() { printf("Usage:\n"); printf(" ./compressor -c1 infile outfile Compress using algorithm 1 (Huffman)\n"); @@ -13,65 +15,41 @@ void print_help() { printf(" ./compressor -h Show this help message\n"); } -// Функція для перевірки валідності аргументів -int check_arguments(int argc, char* argv[]) { - // Перевіряємо наявність достатньої кількості аргументів +int main(int argc, char* argv[]) { if (argc < 2) { - fprintf(stderr, "Error: Missing required arguments.\n"); print_help(); - return 0; + return 1; } - // Якщо користувач запитав допомогу, виводимо її if (strcmp(argv[1], "-h") == 0) { print_help(); return 0; } - // Перевіряємо, чи правильно передано 3 аргументи (режим, вхідний файл, вихідний файл) + // Ensure correct number of arguments if (argc != 4) { fprintf(stderr, "Error: Invalid number of arguments.\n"); print_help(); - return 0; - } - - // Перевірка на правильний режим стиснення чи розпакування - const char* mode = argv[1]; - if (strcmp(mode, "-c1") != 0 && strcmp(mode, "-d1") != 0 && strcmp(mode, "-c2") != 0 && strcmp(mode, "-d2") != 0) { - fprintf(stderr, "Error: Unknown mode '%s'.\n", mode); - print_help(); - return 0; - } - - return 1; // Аргументи правильні -} - -int main(int argc, char* argv[]) { - // Перевіряємо, чи коректні аргументи - if (!check_arguments(argc, argv)) { return 1; } - // Окремо отримуємо значення аргументів const char* mode = argv[1]; const char* infile = argv[2]; const char* outfile = argv[3]; - // Вибір алгоритму стиснення або розпакування if (strcmp(mode, "-c1") == 0) { - printf("Compressing using algorithm 1 (Huffman)...\n"); compress_1(infile, outfile); } else if (strcmp(mode, "-d1") == 0) { - printf("Decompressing using algorithm 1 (Huffman)...\n"); decompress_1(infile, outfile); } else if (strcmp(mode, "-c2") == 0) { - printf("Compressing using algorithm 2 (RLE)...\n"); compress_2(infile, outfile); } else if (strcmp(mode, "-d2") == 0) { - printf("Decompressing using algorithm 2 (RLE)...\n"); decompress_2(infile, outfile); + } else { + fprintf(stderr, "Error: Unknown mode '%s'.\n", mode); + print_help(); + return 1; } return 0; } -