А, ну тогда понятно... В Вашем файле - 661 символ, а уж слов - даже и не знаю, может быть и больше 200. А Вы пытаетесь считывать строку...
Мне кажется, тут надо бы ограничиться строкой с количеством символов не более 255. Или кардинально переделать часть программы, где разделение книги на слова: считывать данные из файла посимвольно и "на лету" отделять буквы от разделителей и формировать массив слов.
Совсем другая задача.