私がやろうとしているのは、ファイルを読み取って、それを 2 次元の QVector にマップすることです。これまでの私のコードは次のとおりです
void dataModel::parseFileByLines()
{
QVector<QVector<QString> > dataSet;
lastError = "";
QRegExp reg(fileDelimiter);
QFile inFile(inputFile);
if (inFile.open(QIODevice::ReadOnly)){
QTextStream fread(&inFile);
long totalSize = inFile.size();
QString line;
while(!fread.atEnd()){
line = fread.readLine();
dataSet.append(line.split(reg,QString::KeepEmptyParts).toVector());
}
}else{
lastError = "Could not open "+inputFile+" for reading";
}
}
私の問題は、1000,000 行以上を処理すると、「このアプリケーションはランタイムに異常な方法で終了するように要求しました」というメッセージが表示されてプログラムがクラッシュすることです。目標を達成するためのより効率的な方法はありますか? もしそうなら、どのように?
入力ファイルは次のような形式である可能性があります
ID、名前、年齢、性別など
1、サム、12
...
...
1000000
助けやアドバイスをいただければ幸いです