From df9b1b3c581850aa7109a46ebe71835ed031f2e3 Mon Sep 17 00:00:00 2001 From: Darius <darius.gomesdes@hes-so.ch> Date: Thu, 23 Jan 2025 17:57:19 +0100 Subject: [PATCH] ajoute fonction qui encode en morse --- src/morse.c | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/morse.c b/src/morse.c index 7a26d0c..524b4e4 100644 --- a/src/morse.c +++ b/src/morse.c @@ -68,12 +68,38 @@ struct node_t * pushTree(struct node_t * tree, char letter, char * code){ } -char searchCodeTree(struct node_t * tree, char letter, char* code_out){} -struct node_t * encodeMorse(struct node_t * tree, char * path){} +struct node_t * encodeMorse(struct node_t * tree, char * path){ + FILE *f = fopen(path, "r"); + FILE *fout = fopen("result_encode.txt", "w"); + char buffer; + char code[6]; + if (f != NULL) { + while ((buffer = fgetc(f)) != EOF) { + if (buffer != ' ' && buffer != '\n') { + strcpy(code, ""); + searchCodeTree(tree, buffer, code); + fwrite(code, sizeof(char), strlen(code), fout); + fwrite(" ", sizeof(char), 1, fout); + } else { + if (buffer == ' ') { + fwrite(" / ", sizeof(char), 3, fout); + } else { + fwrite(&buffer, sizeof(char), 1, fout); + } + } + } + fclose(fout); + fclose(f); + return tree; + } + return NULL; +} void decodeMorse(struct node_t * tree, char * path){} +char searchCodeTree(struct node_t * tree, char letter, char* code_out){} + void printTree(struct node_t * tree, int depth){ if (tree == NULL) { return; -- GitLab