2025年3月29日 星期六 甲辰(龙)年 月廿八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > VC/VC++

CSV文件读取 C++版本

时间:02-02来源:作者:点击数:43

CSV文件读取 C++版本

代码

  • //创建结构体,把读取数据可以放入结构体成员中
  • struct WAYPOINT{
  • double px;
  • double py;
  • double pz;
  • double vx;
  • double vy;
  • double vz;
  • double ax;
  • double ay;
  • double az;
  • };
  • //读取路径点csv函数
  • void read_waypoint_csv(std::string CSV_PATH)
  • {
  • std::ifstream _csvInput;
  • _csvInput.open(CSV_PATH);
  • if(!_csvInput){
  • std::cout<<"open error! Path = "<< CSV_PATH.c_str() <<std::endl;
  • return;
  • }
  • //创建路径点容器
  • std::vector<WAYPOINT> waypoint_vec;
  • std::string str;
  • //读取策略:读取一行数据, 跳过第一行
  • size_t line_num = 1;
  • //开始循环读取数据
  • while(getline(_csvInput, str)){
  • WAYPOINT waypt;
  • std::istringstream iss(str);
  • std::string token;
  • if(line_num == 1){
  • std::cout << iss.str() << std::endl;
  • }else{
  • getline(iss, token, ',');
  • waypt.px = std::stod(token);
  • getline(iss, token, ',');
  • waypt.py = std::stod(token);
  • getline(iss, token, ',');
  • waypt.pz = std::stod(token);
  • getline(iss, token, ',');
  • waypt.vx = std::stod(token);
  • getline(iss, token, ',');
  • waypt.vy = std::stod(token);
  • getline(iss, token, ',');
  • waypt.vz = std::stod(token);
  • getline(iss, token, ',');
  • waypt.ax = std::stod(token);
  • getline(iss, token, ',');
  • waypt.ay = std::stod(token);
  • getline(iss, token, ',');
  • waypt.az = std::stod(token);
  • waypoint_vec.emplace_back(waypt);
  • printf("%5.3f, %5.3f, %5.3f | %5.3f, %5.3f, %5.3f, | %5.3f, %5.3f, %5.3f\n",
  • waypt.px, waypt.py, waypt.pz,
  • waypt.vx, waypt.vy, waypt.vz,
  • waypt.ax, waypt.ay, waypt.az);
  • }
  • line_num++;
  • }
  • }
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门