次のコードを使用して、ファイルを文字配列に読み込みます。これで、小さなファイル(たとえば、2 MB)の場合は正しく実行されますが、大きなファイル(140 MB)の場合は、18GBUBUNTUサーバーで提供されsegmentation fault
ます。誰かがこれを解決する方法を教えてもらえますか?240MBのファイルをメモリに保存するには18GBで十分だと思います。私は64ビットのUBUNTUを使用しており、g++を使用してコンパイルしています。
ifstream is;
char chararray [fileSize] ;
is.read(chararray, fileSize) ;