See, the problem is you can't know beforehand how long a line will be. What if it's an empty line? What if it's a huge paragraph with a single line? You can't know.
What I would do is read the whole file into a dynamically allocated array and read words from there.
In English, a word is all text between the current position and the next character that is not a letter.