From 69dd495ac070432a0c5b127217552ef59fa9d324 Mon Sep 17 00:00:00 2001 From: Rory Healy Date: Mon, 23 Aug 2021 14:29:41 +1000 Subject: [PATCH] added functionality to read file --- .vscode/c_cpp_properties.json | 34 ------------------------------ voronoi.c | 38 +++++++++++++++++++--------------- voronoi1 | Bin 20688 -> 19808 bytes 3 files changed, 21 insertions(+), 51 deletions(-) delete mode 100644 .vscode/c_cpp_properties.json mode change 100644 => 100755 voronoi1 diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index dfe7034..0000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": [ - "_DEBUG", - "UNICODE", - "_UNICODE" - ], - "compilerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe", - "cppStandard": "gnu++14", - "intelliSenseMode": "windows-gcc-x64" - }, - { - "name": "Linux", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": [ - "_DEBUG", - "UNICODE", - "_UNICODE" - ], - "compilerPath": "/usr/bin/gcc", - "cppStandard": "gnu++14", - "intelliSenseMode": "linux-gcc-x64", - "cStandard": "c17" - } - ], - "version": 4 -} diff --git a/voronoi.c b/voronoi.c index ff16e13..12daee2 100644 --- a/voronoi.c +++ b/voronoi.c @@ -24,21 +24,7 @@ int main(int argc, char **argv) { exit(EXIT_FAILURE); } - char *buffer; - size_t bufsize = 32; - size_t characters; - - buffer = (char *)malloc(bufsize * sizeof(char)); - if( buffer == NULL) - { - perror("Unable to allocate buffer"); - exit(1); - } - - printf("Type something: "); - characters = getline(&buffer,&bufsize,stdin); - printf("%zu characters were read.\n",characters); - printf("You typed: '%s'\n",buffer); + readWatchtowers(watchtowers, dataset); // Cleaning up data free(watchtowers); @@ -75,6 +61,24 @@ FILE **polygonFile, FILE **outputFile) { } void readWatchtowers(watchtower_t *watchtowers, FILE* datasetFile) { - int numTowers = 1; - + char *lineBuffer; + int lineCount = 0; + size_t lineBufferSize = 512; + size_t numberCharsRead; + + lineBuffer = (char *) malloc(lineBufferSize * sizeof(char)); + if (lineBuffer == NULL) { + fprintf(stderr, MALLOC_ERROR); + exit(EXIT_FAILURE); + } + + numberCharsRead = getline(&lineBuffer, &lineBufferSize, datasetFile); + while (numberCharsRead > 0) { + lineCount += 1; + printf("line[%06d]: chars=%06zd, buf size=%06zu, contents: %s",\ + lineCount, numberCharsRead, lineBufferSize, lineBuffer); + numberCharsRead = getline(&lineBuffer, &lineBufferSize, datasetFile); + } + free(lineBuffer); + lineBuffer = NULL; } diff --git a/voronoi1 b/voronoi1 old mode 100644 new mode 100755 index a1ce3160ad3803b85b559374ec2f22a8c171eec4..0e46e25d10c03ec24b87c33fd70b1dcc052ae4bb GIT binary patch literal 19808 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 Mj>P9(3NBRqH|#EHO#lD@ literal 20688 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