[英]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.