gpt4 book ai didi

C++ 将文件读入字符数组

转载 作者:IT王子 更新时间:2023-10-29 01:01:36 26 4
gpt4 key购买 nike

我正在使用以下代码将文件读入字符数组。现在,对于小文件(比如 2 MB),它执行正常,但对于大文件(140 MB),在我的 18 GB UBUNTU 服务器中,它给出了 segmentation fault。谁能帮我解决这个问题?我认为 18 GB 足以将 240 MB 的文件保存到内存中。我正在使用 64 位 UBUNTU 并使用 g++ 进行编译。

ifstream is;

char chararray [fileSize] ;

is.read(chararray, fileSize) ;

最佳答案

如果数组是一个局部变量,你会得到一个栈溢出,因为它放不下栈。改为在堆上分配“数组”,直接使用 new 或间接使用 std::vector

或者使用内存映射。查看mmap功能。

关于C++ 将文件读入字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13470964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com