ファイルに含まれる行数を見つけるためにファイルを一度読んでから、もう一度読んで、各行のデータを配列に格納できるようにします。ファイルを閉じて再度開くよりも、ファイルを 2 回読み通す方がよい方法はありますか? これが私が得たものですが、効率が悪いのではないかと心配しています。
int numOfMappings = 0;
ifstream settingsFile("settings.txt");
string setting;
while(getline(settingsFile, setting))
{
numOfMappings++;
}
char* mapping = new char[numOfMappings];
settingsFile.close();
cout << "numOfMappings: " << numOfMappings << endl;
settingsFile.open("settings.txt");
while(getline(settingsFile, setting))
{
cout << "line: " << setting << endl;
}