diff --git a/Startcode/input.c b/Startcode/input.c index ed77805..0344b2b 100644 --- a/Startcode/input.c +++ b/Startcode/input.c @@ -1,12 +1,23 @@ #include "input.h" #include -#include -// TODO: -// eine Funktion implementieren, die ein einzelnes Wort aus einer Textdatei (words.txt) einliest und als C-String zurückgibt. +int readWord(char *buffer, char *divisor, char words[][MAX_WORD_LEN], unsigned int maxWordCount, int *count); + +int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { + char buffer[MAX_LINE_LEN]; + int count = 0; + char *divisor = " ,;.\n"; + + while (fgets(buffer, MAX_LINE_LEN, file) != NULL) { + for (char *word = strtok(buffer, divisor); word != NULL && count < maxWordCount; word = strtok(NULL, divisor)) + { + strncpy(words[count], word, MAX_WORD_LEN); + ++count; + } + } + return count; +} + + -// Read words from file and store in 'words' array -int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) -{ -} \ No newline at end of file