You can indeed store "lots" of text (or other data) in a std::array or std::vector, up to whatever memory your OS will allow.
One of the biggest benefits is memory management. std::vector stores its elements on the heap, AKA the free store, instead of the stack and does all the messy details of memory management for you. Using a regular array would require manual memory management that can be prone to memory leaks and other issues.
There are additional reasons why using a C++ container could have advantages over a regular array, one of them being iterators.
A std::array or std::vector can safely be passed to a function without decaying to a pointer, unlike a regular array.
A std::array is compile-time fixed size, and allocates elements on the stack. You can allocate on the free store if you want, though.
A std::vector is a dynamic container, you can resize on demand at run-time as needs for space change.
As your experience and understanding of C++ grows, understanding why using C++ constructs like std::array/std::vector can be more efficient though using them can require a radical new way of thinking.
Too much available information on the 'net and in books teaches old ways of doing things. Not that the old ways are necessarily inefficient, C++ changed and added features. std::format, for instance.
Using <random> instead of the C library to generate random numbers is another. Using srand/rand, though, is inefficient, and has serious distribution problems.
https://web.archive.org/web/20180123103235/http://cpp.indi.frih.net/blog/2014/12/the-bell-has-tolled-for-rand/