diff --git a/Startcode/input.c b/Startcode/input.c index 3403000..7341859 100644 --- a/Startcode/input.c +++ b/Startcode/input.c @@ -9,8 +9,12 @@ int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { char puffer[MAX_LINE_LEN]; - char *teiler = " ,;\n"; + // 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 @@ -21,12 +25,24 @@ int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) } 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); - token = strtok(puffer, teiler); //Trennt das erste Wort der Zeichenkette, abhängig von den Teilerbedingungen + //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); + } - while(token != NULL) + // 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. - words = token; //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 + //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 :) diff --git a/Startcode/main.c b/Startcode/main.c index 03da755..7d5413e 100644 --- a/Startcode/main.c +++ b/Startcode/main.c @@ -33,6 +33,9 @@ int main(int argc, char *argv[]) wordCount = readWords(file, words, MAX_NUMBER_OF_WORDS); fclose(file); + // TODO: + // Post-Process words[][] nach den Requirements ../TODO.md + // Create the word salad by placing words into grid placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, wordCount);