If you do it with this data structure, you should store a 0 character when you encounter a ' ', so your words are properly 0-terminated. Otherwise you can not know how long your word is.
That said, your fixed size array cannot handle text files with more than the allocated number of paragraphs, sentences per paragraph, words per sentence, and characters per word. Technically you must allocate the required amount of memory dynamically at every level, and your top level data type would be
char ****paragraphs_of_sentences_of_words_of_chars;
Of course, to allocate the right amount of paragraphs, you need to first scan the text and find out how many there are; then you can allocate the required amount, and then you must scan the file again to actually read the paragraphs and store their contents. Only that storing these contents again requires a double scan: the first for counting the sentences and the second to actually store them after you allocated the required number of sentence-pointers. During storing a sentence, you again need to double scan to find out the number of words, and during reading a word you need to double scan to first find out the length of the word.
The big question is, what do you want to achieve, and would it be ok to use a different data structure, and C++ container classes? That would simplify the task enourmously, and after all you tagged this question as C++, so why not use it's features?
P.S.: it could be as simple as this:
std::vector<std::vector<std::vector<std::string>>> paragraphs_of_sentences_of_words;
This definition saves you the effort of memory managment and precounting the required amounts of sentences and words. Just
push_back()
the words up to the end of a sentence,
push_back()
the sentences up to the end of the paragraph (btw., how do you recognize a new paragraph?), and
push_back()
the paragraphs up to the end of the file.
P.P.S.: in one of your comments you mentioned that you must use a 4D array. note that the suggested solution is, technically, a 4D array, becausee std::string is effectively a 1D array of chars.