#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. /* char *readSingleWord(FILE *file) { if (file == NULL) { return 0; } fgets(singleWordBuffer, MAX_LINE_LEN, file); } */ // Read words from file and store in 'words' array int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) { int i = 0; int firstLetter = 0; int word = 0; int wordChar = 0; char currentChar = 0; do { currentChar = fgetc(file); if ((currentChar >= 'A') && (currentChar <= 'Z')) { if (!firstLetter) { firstLetter = 1; } words[word][wordChar] = currentChar; wordChar++; } else if ((currentChar >= 'a') && (currentChar <= 'z')) { if (!firstLetter) { firstLetter = 1; } words[word][wordChar] = toupper(currentChar); wordChar++; } else if (firstLetter) { words[word][wordChar] = '\0'; word++; wordChar = 0; firstLetter = 0; } i++; } while ((currentChar != EOF) && (word < maxWordCount)); return word; } /* #define MAX_BUFFER_LEN 256 // 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 buffer[MAX_BUFFER_LEN]; int count = 0; char *teiler = ".,; !?\n"; if(file == NULL) { printf("Fehler beim Öffnen von words.txt!\n"); return -1; } while(fgets(buffer, MAX_LINE_LEN, file)) { const char *wort = strtok(buffer, teiler); while(wort != NULL && count < maxWordCount) { strncpy(words[count], wort, MAX_WORD_LEN-1); words[count][MAX_WORD_LEN-1] = '\0'; count++; wort = strtok(NULL, teiler); } } return count; } */