diff --git a/Start_Windows/input.c b/Start_Windows/input.c index 6c7c4d9..39630d9 100644 --- a/Start_Windows/input.c +++ b/Start_Windows/input.c @@ -32,28 +32,30 @@ int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) while (token != NULL && count < maxWordCount) { - // Alles in Großbuchstaben umwandeln - for (int i = 0; token[i]; i++) + // Überspringe leere Tokens + if (token && strlen(token) > 0) { - token[i] = toupper(token[i]); - - // Prüfen, ob das Wort nur A-Z enthält + // Alles in Großbuchstaben umwandeln + for (int i = 0; token[i]; i++) + { + token[i] = toupper(token[i]); + } + // Prüfen, ob das Wort nur A-Z enthält - if (!isValidWord(token)) - { - fprintf(stderr, "Ungültiges Wort gefunden: '%s'. Nur Buchstaben A-Z erlaubt.\n", token); - token = strtok(NULL, delimiters); - continue; // Wort ignorieren - } - } - - // Wort ins Array kopieren - strncpy(words[count], token, MAX_WORD_LEN - 1); - words[count][MAX_WORD_LEN - 1] = '\0'; - count++; + if (!isValidWord(token)) + { + fprintf(stderr, "Ungültiges Wort gefunden: '%s'. Nur Buchstaben A-Z erlaubt.\n", token); + token = strtok(NULL, delimiters); + continue; // Wort ignorieren + } + // Wort ins Array kopieren + strncpy(words[count], token, MAX_WORD_LEN - 1); + words[count][MAX_WORD_LEN - 1] = '\0'; + count++; + } token = strtok(NULL, delimiters); } }