编写程序过程中常常会碰到读入文件中的数据的操作,这里使用标准库方便地读取CSV格式的数据文件。思路就是读取文件的每一行为一个string,然后将string中的逗号替换为空格,再将string转换为字符流类型,然后使用输入运算符读取。
std::ifstream fin("f:/temp/data.txt");
while(!fin.eof()){
std::string stringline;
std::getline(fin, stringline);
std::replace(stringline.begin(), stringline.end(), ',', ' ');
std::stringstream strstream(stringline);
double tx, ty, tz, qx, qy, qz, qw; // 读入位移和四元数
strstream >> qx >> qy >> qz >> qw >> tx >> ty >> tz;
std::cout<<"quaternions and translation "<<qx <<", "<<qy<<", "<<qz<<", "<<qw<<", "<<tx<<", "<<ty<<", "<<tz<<std::endl;
}

该程序演示了如何使用C++标准库读取CSV格式的数据文件。通过std::ifstream打开文件,逐行读取内容,用std::replace替换逗号为空格,然后利用std::stringstream将字符串转换为数值流,读取并解析出双精度浮点数表示的位移和四元数数据。
1618

被折叠的 条评论
为什么被折叠?



