初学C++,尝试实现惯性导航+零速修正+卡尔曼滤波
第一步,读取csv中的传感器数据
此处用到C++文件的输入输出控制知识
首先定义声明一个ifstream对象,与文件名关联。ps:关联后相当于找到了文件的地址,可以通过此对象对文件操作
需要包含头文件#include <fstream>
ifstream _csvInput("csvdata/xxxx.csv")
或者
ifstream _csvInput;
_csvInput.open(csvdata/xxxx.csv)
然后就可以像cin一样操作_csvInput。例如
char ch;
_csvInput >> ch;
char buf[80];
_csvInput >> buf;
_csvInput.getline(buf, 80);
string line;
getline(_csvInput, line);
这里,我读的是传感器数据,csv文件每行,首个为number,其次是三个acc数据,三个gyro数据,三个mag数据
因此使用getline先读到一行数据
定义一行数据为字符串
string _Oneline;
读该文件一行数据
getline(_csvInput, _Oneline);
此时读到的数据存在_Oneline中,此行数据包括了上述四类数据(number,acc[3],gyro[3],mag[3])
此时再声明一个输入的串流对象,和刚刚的ifstream类似,由此可以对_Oneline进行操作
istringstream _Readstr(