簡體   English   中英

實時數據從CSV讀入C++

[英]Real time data from CSV read in C++

我需要從 CSV 文件中讀取數據,該文件每秒更新一次,並在同一單元格和行中使用新數據。

我的意思如下:例如,我在第一行和單元格中有 1 個,然后我已經有 2 個等等。但是同一行和同一列中的所有內容都已更改。

struct Node
{
 double number;
}
void readData(vector<Node>&Values)
{
 Node Data;
 ifstream file("file.csv");
 if (file.good())
    cout << "file ok";
 file >> Data.number;
 Values.push_back(Data);
}
int main()
{
vector<Node>Values;
while (true)
 {
    readData(Values); 
    _sleep(1000);
 }
} 

我遇到的問題是它每秒讀取一次新數據,但它從一開始就在向量中保存相同的數字。 如果數字為 1,即使數字已更改 10 次,它也會將相同的數字保存數百次。

我應該在讀取文件中更改什么以處理可以更新的數據,因為 csv 文件已打開和更新,我無法關閉它? 我很確定它可以解決我在 inte.net 中沒有找到任何解決方案的問題。

先感謝您!

我將這樣簡化代碼;

double ReadData()
{
    double val;
    ifstream file("file.csv");
    if (!file.good())
    {// Check if valid, return Error Code
        return 0;
    }

    file >> val;
    return val;
}

int main()
{
    vector<double> values;
    while (true)
    {
        double retVal = ReadData();
        if (retVal == 0)
        {// Whatever you defined the error code as
            break;
        }

        values.push_back(retVal);
        _sleep(1000);
    }
} 

如果您真的想要結構,則只需返回數據並將其添加到主循環中的結構即可。

從 _sleep(1000) 更改為 _sleep(150

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM