input verbessert

This commit is contained in:
Björn 2025-10-26 18:41:44 +01:00
parent b88cf94072
commit 0c086b9607
3 changed files with 22 additions and 18 deletions

View File

@ -8,21 +8,29 @@
// Read words from file and store in 'words' array // Read words from file and store in 'words' array
int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount)
{ {
if (file == NULL) { char line[1024]; // Puffer für eine Zeile
printf("Datei konnte nicht geoffnet werden");
return 0;
}
// 2D char Array um wörter zu speichern
char word[MAX_WORD_LEN];
unsigned int count = 0; unsigned int count = 0;
while (fscanf(file, "%s", word) != EOF && count < maxWordCount) {
// Kopiere das gelesene Wort in das 2D-Array // Alle gewünschten Trennzeichen
strncpy(words[count], word, MAX_WORD_LEN - 1); const char *delimiters = " \t\n,.;:!?\"'()[]{}";
words[count][MAX_WORD_LEN - 1] = '\0'; // Sicherstellen, dass der String nullterminiert ist
count++; while (fgets(line, sizeof(line), file) && count < maxWordCount) {
char *token = strtok(line, delimiters);
while (token != NULL && count < maxWordCount) {
// Alles in Großbuchstaben umwandeln
for (int i = 0; token[i]; i++) {
token[i] = toupper(token[i]);
}
strncpy(words[count], token, MAX_WORD_LEN - 1);
words[count][MAX_WORD_LEN - 1] = '\0'; // Nullterminierung
count++;
token = strtok(NULL, delimiters);
}
} }
fclose(file); fclose(file);
return count; return count;
} }

View File

@ -5,7 +5,7 @@
#include "graphicalGame.h" #include "graphicalGame.h"
#define MAX_NUMBER_OF_WORDS 100 #define MAX_NUMBER_OF_WORDS 100
#define SALAD_SIZE 30 #define SALAD_SIZE 20
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {

View File

@ -1,5 +1 @@
Yeti,Nessie Werwolf; Vampir test
Monster
Hydra;Frankenstein
Dracula;KingKong;Gremlin;Kobold,Hexe;Poltergeist
Gespenst, Oger