0

値を取得するテキストファイルがあります。

x軸の増加として機能するタイマーがあるので、プロットはリアルタイムです。

これが私のコードです。

void gui::x()
{
    int xy = 0;

    QVector<double> x(1000), y(1000);
    FILE *file;

    char line[1024];
    file = fopen("x.txt", "r");

    while (fgets(line,1024,file) != NULL)
    {
        fscanf(file,"%lf %lf", &y[xy], &x[xy]);
        xy++;
    }

    fclose(file);

    QwtPlotCurve *curve = new QwtPlotCurve;
    curve->attach(plot_all[3]);
    curve->setData(y,x);
    curve->

    QwtPlotCurve *curve2 = new QwtPlotCurve;
    curve2->attach(plot[3]);
    curve2->setData(y,x);
}

問題は、プロットの下に奇妙な2行目が表示されることです。

誰かが私を助けることができますか?

心電図

4

1 に答える 1

0

ベクトルの代わりに配列を使用して解決しました。

void gui::ecg()
{
    int xy = 0;

    double x[1000], y[1000];
    FILE *file;

    char line[1024];
    file = fopen("ecg.txt", "r");

    while (fgets(line,1024,file) != NULL)
    {
        fscanf(file,"%lf %lf", &y[xy], &x[xy]);
        xy++;
    }

    fclose(file);

    QwtPlotCurve *curve = new QwtPlotCurve;
    curve->attach(plot_all[0]);
    curve->setData(x,y,1000);
    curve->setPen(QPen(Qt::blue,1));

    QwtPlotCurve *curve2 = new QwtPlotCurve;
    curve2->setStyle(QwtPlotCurve::Lines);
    curve2->attach(plot[0]);
    curve2->setData(x,y,1000);
    curve2->setPen(QPen(Qt::blue,1));
}
于 2013-02-12T03:28:15.817 に答える