私はC++を学ぼうとしています。私は以下のような文字配列に文字ファイルを読み込んでいます:
#include <iostream>
#include <fstream>
#include<conio.h>
#include <stdint.h>
using namespace std;
int main () {
char c, str[256];
ifstream is;
cout << "Enter the name of an existing text file: ";
cin.get (str,256);
is.open (str);
int32_t fileSize = 0;
if(is.is_open())
{
is.seekg(0, ios::end );
fileSize = is.tellg();
}
cout << "file size is " << fileSize << "\n";
is.close() ;
is.open (str);
char chararray [fileSize] ;
for(int i = 0 ; i < fileSize ; i++)
{
c = is.get();
chararray [i] = c ;
}
for(int i = 0 ; i < fileSize ; i++)
{
cout << chararray [i];
}
is.close();
getch();
return 0;
}
しかし、このコードは大きなcharファイルを読み取るのに時間がかかります。では、charファイルをchar配列にすばやく読み込む方法は?Javaでは、通常、メモリマップドバッファを使用します。C++でもそうですか。申し訳ありませんが、C++は初めてです。