#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. // Read words from file and store in 'words' array int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { char puffer[MAX_LINE_LEN]; // Delemiter: Ich glaube \n ist nicht erlaubt da einzelne Buchstaben eingelesen werden char *teiler = " ,;"; char *token; //counter für die Anzahl der eingelesenen Wörter int wordCount = 0; FILE *words_txt_speicherort; //Zeiger auf den Speicherort der word.txt Datei words_txt_speicherort = fopen("words.txt","r"); //word.txt öffnen if(words_txt_speicherort == NULL) //Abbruch falls words.txt nicht existieren würde { return -1; } fgets(puffer, MAX_LINE_LEN, words_txt_speicherort); //speichert alle Zeichen der words.txt datei in den speicher //Trennt das erste Wort der Zeichenkette, abhängig von den Teilerbedingungen token = strtok(puffer, teiler); //Trennt den Rest der Wörter bis die Zeichenkette leer ist while(token != NULL) { words[wordCount][MAX_WORD_LEN] = token; wordCount++; token = strtok(NULL, teiler); } // TODO: // * Noch ein Post-Processor der Wörterliste um Füller zu entfernen (Oder in der Funktion) // * Check für Überlänge? // * Extra Funktion nach readWords in main.c evtl. //speichert nur das einzelne Word in das words array; Problem: Laufindex der global gespeichert werden müsste; wie springe ich beim 2ten Funktionsaufruf zum nächsten Wort //mit strtok(NULL, delimiter) kann man weiterzerlegen :) int fclose(words_txt_speicherort); }