В 32-разрядной операционной системе вы получите максимум непрерывный фрагмент памяти около 550 мегабайт, что позволяет загружать файл вдвое меньшего размера. Это быстро идет в гору после того, как ваша программа работает некоторое время, и адресное пространство виртуальной памяти фрагментируется. 100 мегабайт - это все, на что вы можете надеяться.
Это не проблема в 64-битной операционной системе.
Поскольку чтение текстового файла по одной строке за раз так же быстро, как и чтение всех строк, это никогда не должно быть реальной проблемой.