Привет. Я пытаюсь отобразить данные из файла .txt на графике в QCustomPLot. Я добавляю данные из QTextStream к двойному вектору. При этом я получаю сообщение об ошибке
"ASSERT failure in QVector<T>::operator[]: "index out of range", file /Users/.../Qt/5.11.1/clang_64/lib/QtCore.framework/Headers/qvector.h, line 436"
Iизменил размер вектора на автоматический размер, не выдает ошибок, но не выводит данные, график остается пустым.Так что я уверен, что ошибка связана с моей длиной строки.Другие сообщения о сбое ASSERT не имели особого смысла.
данные выглядят так:
1,2
2,3
0,1
и мой код такой:
QVector<double> v;
QFile textFile("/Users/10Exahertz/Documents/Hall Data/Test/data.txt");
if(textFile.open(QIODevice::ReadOnly))
{
//auto size = v.size();
QVector<double> x(2), y(2);
double d;
QTextStream textStream(&textFile);
while (!textStream.atEnd()) {
textStream >> d;
if(textStream.status() == QTextStream::Ok){
v.append(d);
}
else
break;
}
for(int i=0; i<2; ++i)
{
x[i] = i;
y[i] = v[i];
}
ui->customPlot->addGraph();
// create graph and assign data to it:
//ui->customPlot->addGraph();
ui->customPlot->graph(0)->setData(x, y);