#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 readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) // Read words from file and // store in 'words' array { int count = 0; // zaehlt die gespeicherten Woerter if(file == NULL || maxWordCount == 0) // keine Datei oder kein Platz { return 0; //Raus aus dem Programm und Abbruch } char line[MAX_LINE_LEN]; // Puffer fuer eine ganze Zeile 1024 while(fgets(line, MAX_LINE_LEN, file) != NULL) // jede Zeile lesen { char *word = strtok(line, ",; \t\r\n"); // erstes Wort der Zeile while(word != NULL && count < maxWordCount) // jedes Wort der Zeile { if(strlen(word) != 0 && strlen(word) < MAX_WORD_LEN) // Wort gueltig? { strncpy(words[count], word, MAX_WORD_LEN -1); // Wort sicher ins naechste Fach kopieren words[count][MAX_WORD_LEN -1] = '\0'; // String sicher mit '\0' abschliessen for(int i = 0; words[count][i] != '\0'; i++) { words[count][i] = toupper(words[count][i]); } count++; // ein Wort mehr gespeichert } word = strtok(NULL, " ,; \t\n\r"); // naechstes Wort holen } } return count; // Anzahl der gespeicherten Woerter zurueckgeben }