From b65807dc106a9053798941eaf5e2b4e932ff759e Mon Sep 17 00:00:00 2001 From: MrBesen Date: Fri, 2 Apr 2021 17:24:45 +0200 Subject: [PATCH] added decompress file to create text format from binary format --- .gitignore | 3 ++- decompress.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100755 decompress.c diff --git a/.gitignore b/.gitignore index d048bad..804b76c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.log -activity \ No newline at end of file +activity +decompress \ No newline at end of file diff --git a/decompress.c b/decompress.c new file mode 100755 index 0000000..de25b94 --- /dev/null +++ b/decompress.c @@ -0,0 +1,53 @@ +//#!/usr/local/bin/tcc -run + +#include +#include +#include +#include + +int main(int argc, char** argv) { + + if(argc != 3) { + fprintf(stderr, "Usage: %s infile outfile\n", argv[0]); + return 1; + } + + int in = open(argv[1], O_RDONLY); + if(in == -1) { + fprintf(stderr, "%s: Could not open in-file: %s\n", argv[0], argv[1]); + return 1; + } + + int out = open(argv[2], O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR); + if(out == -1) { + close(in); + fprintf(stderr, "%s: Could not open out-file: %s\n", argv[0], argv[2]); + return 1; + } + + const size_t OUTBUFFSIZE = 10; + char outbuff[OUTBUFFSIZE]; + time_t inbuff; + + //read until end + while(1) { + size_t rc = read(in, &inbuff, sizeof(inbuff)); + + if(rc != sizeof(inbuff)) break; + + //prnt to file + size_t count = dprintf(out, "%u\n", inbuff); + + if(count == 0) { + fprintf(stderr, "%s: Writing failed\n", argv[0]); + break; + } + } + + close(in); + close(out); + + printf("Successfull!\n"); + + return 0; +} \ No newline at end of file