Есть ли способ прочитать большой текстовый файл (~ 60 МБ) в память сразу (например, флаг компилятора для увеличения предела памяти программы)? В настоящее время функция openstream генерирует ошибку сегментации при попытке прочитать этот файл.Чтение большого текстового файла в память в C++
ifstream fis;
fis.open("my_large_file.txt"); // Segfaults here
Файл просто состоит из строк вида
number_1<tabspace>number_2
т.е. два числа, разделенные tabspace.
60MB не большой файл ;-) – Yacoby
Когда дело доходит до ввода-вывода, это зависит от операционной системы, иногда более эффективно обходить функции C++ и напрямую обращаться к функциям OS API для чтения файлов. –
Какой компилятор? .open даже не считывает данные, так это работает для ЛЮБОГО файла на вашем компьютере? Вы уверены, что это связано с вызовом .open? Что вы делаете дальше с fis? – Joe