用C++将大文本文件读入内存

Non*_*ype 2 c++ file-io large-files

有没有办法一次将大文本文件(~60MB)读入内存(如编译器标志,以增加程序内存限制)?目前,ofstream的open函数在尝试读取此文件时会引发分段错误.

ifstream fis;
fis.open("my_large_file.txt"); // Segfaults here
Run Code Online (Sandbox Code Playgroud)

该文件只包含表单的行

number_1<tabspace>number_2
Run Code Online (Sandbox Code Playgroud)

即,由制表空间分隔的两个数字.

Bli*_*ndy 5

您还有其他问题,因为您不是通过调用来读取文件open.我的猜测是文件不存在(或者在你认为它应该存在的相对路径中不存在).

  • 如果它是UNIX系统,那么20s可能部分用于写出核心文件. (4认同)