【轨迹规划】c++ vector<vector<double>>数据传递

2023-05-16

轨迹信息传递

#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <vector>
#include <stdlib.h>
#include <sstream>

using	std::string;
using	std::vector;
using namespace std;
void traj_out(string* path,vector<vector<double>> &temp_vector)
{
    cout<<"*************************************************************"<<endl;
    cout<<"文件的写操作"<<endl;
    //计算结果传递给out_vector
    vector<vector<double>>	out_vector;		//用来保存输出结果的向量
    out_vector=temp_vector;
    ofstream	outfile;//outfile也是一个文件流,用来操作输出文件
    string temp;

    for (vector<double>::size_type i=0;i!=(out_vector.size());i++)
    {
        cout<<"第"<<i<<"的值是:"<<endl<<" { ";
        for(int j=0;j<6;j++)
        {
            cout << out_vector[i][j] << ", " << endl;
        }
        cout <<"} . " << endl;
    }

    outfile.open(*path);  //打开输出文件
    for (vector<double>::size_type i=0;i!=(out_vector.size());i++)
    {
        string	message;
        for(int j=0;j<6;j++)
        {
            cout << out_vector[i][j] << ", " << endl;
            temp = to_string(out_vector[i][j]);	//将10进制的数转换成string类型
            message.append(temp);
            message.append(" ");
        }
        outfile<<message<<endl;
    }
    outfile.close();		//关闭输出文件
}
//用来测试文件的读写操作,输入输出文件均为保存在程序根目录下的txt文件
void traj_in(string *path)
{
    ifstream	infile;	//infile是一个文件流,因此其实还是对流进行的操作
    vector<vector<double>> data_vector;	//用来保存文本中数据的向量
    infile.open(*path);  //打开输出文件

    string indata;
    double  temp;

    if(!infile)     //判断是否存在ifstream infile
    {
        cout<<"读入文件不存在"<<endl;
    }

    if (infile.is_open())   //判断文件流是否处于打开状态
    {
        int line = 1;
        while (infile.good()&&!infile.eof())
        {
            vector<double> group;
            cout << " line : " << line << endl;
            for(int i =0;i<6;i++)
            {
                if(infile.good()&&!infile.eof())
                {
                    infile>>indata;
                    istringstream strstream(indata);
                    strstream>>temp;
                    cout << temp <<endl;
                }
                else
                {
                    cout<<"read file finished " << endl;
                    break;
                }
                group.push_back(temp);
            }
            cout << endl;

            cout << "group size : " << group.size() <<endl;
            line = line+1;
            if(group.size()==6)
            {
                data_vector.push_back(group);
               //将数据读入到data_vector
                cout << "datavector size: "<< data_vector.size() <<endl;
            }
            else break;
        }
    }
    infile.close();

    for (vector<int>::size_type i=0;i!=(data_vector.size());i++)
    {
        for(int j =0;j<6;j++)
        {
             cout<<"line "<<i+1<<" "<< j+1 << " 项的值是:"<<data_vector[i][j]<<endl;
        }
    }
}
int main()
{
    string path = "/home/wcz/QT/output_traj_test/data2";
    vector<vector<double>>	temp_vector = {{1,2,3,4,5,6},
                                           {1.1,2.2,3.3,4.4,5.5,6.6}
                                          };	//缓存向量
    traj_out(&path,temp_vector);
    traj_in(&path);



}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【轨迹规划】c++ vector<vector<double>>数据传递 的相关文章

  • STM32 中浮点转成字符串,解决 -u_printf_float

    开发偶遇问题 在C 43 43 或其他高级语言中 xff0c 以及C语言在Visual Studio或者linux平台上 xff0c 是可以直接通过sprintf将 xff0c int float转换成string类型的 xff1b 但是
  • 路由器原理(一)

    觉得之前对路由器的了解还不是特别清楚 xff0c 继续来学习 xff0c 是参考了路由器的原理及其配置 xff08 一 xff09 一 xff1a 路由器的基础知识 xff08 1 xff09 路由器的概述 xff1a 作为网络层的网络互连
  • 表单提交及后台数据接收

    用POST请求 xff0c 后台原生接收的一个公式 xff1a span class hljs transposed variable req span addListener span class hljs string 34 data
  • JSON怎样添加注释

    今天在写一个程序的时候发现了一个问题 xff0c 在json文件中添加注释之后 xff0c 程序就出现bug了 于是 xff0c 去搜了一下这个问题的相关解释 xff0c 在这里和大家分享一下 xff1a JSON为什么不能添加注释 xff
  • Converting circular structure to JSON

    在做手机验证码模块 xff0c 遇到一个bug Converting circular span class hljs keyword structure span span class hljs keyword to span JSON
  • Mac root和普通用户切换

    今日 xff0c 老身在用su 命令 xff0c 输入密码之后准备切换至root用户 但不幸得到这个消息 xff1a su Sorry 找到解决方案如下 xff1a span class hljs built in sudo span su
  • TCP UDP 的区别和具体应用场景

    TCP和UDP 两者都是通信协议 xff0c TCP和UDP都是传输层协议 xff0c 但是他们的通信机制和应用场景不同 TCP TCP xff08 Transmission Control Protocol xff09 又叫传输控制协议
  • 浏览器缓存机制详解(一)

    浏览器缓存机制可以极大的提升用户体验 xff0c 另一方面会因为读取缓存而展示了错误的东西 xff0c 因而在开发中要设法将其删除 什么是浏览器缓存 xff1f 浏览器缓存就是把一个已经请求过的web资源 xff08 如html页面 xff
  • G2O库和Eigen库can not find 问题——FindG2O.cmake FindEigen3.cmake

    目录 CMakeLists设置FindG2O cmake文件内容FindEigen3 cmake 文件内容 CMakeLists设置 在CMakeLists里加入如下这句话 xff0c 并在项目文件夹中新建cmake文件夹 LIST APP
  • sockaddr_in结构体

    点击进入结构如下 xff1a struct sockaddr in uint8 t sin len sa family t sin family in port t sin port struct in addr sin addr char
  • Win7下VS2010使用STLPort .

    Win7下VS2010使用STLPort 更新于2012年8月24日 星期五 http blog csdn net shunqiziranhao007 article details 7905435 STLport的下载地址 http so
  • 【极简笔记】OpenPose

    极简笔记 Realtime Multi Person 2D Pose Estimation using Part Affinity Fields 论文地址 xff1a https arxiv org abs 1611 08050 文章的核心
  • C++各类库

    1 C 43 43 各大有名库的介绍 C 43 43 标准库 2 C 43 43 各大有名库的介绍 准标准库Boost 3 C 43 43 各大有名库的介绍 GUI 4 C 43 43 各大有名库的介绍 网络通信 5 C 43 43 各大有
  • watch 50 行代码实现 windows watch

    watch 50 行代码实现 windows watch 最近想监控 gpu 使用情况 xff0c 无奈在 windows 上没有 watch 指令 xff0c nvidia smi lms 20 自带输出也不美观 xff0c 那么为何不自
  • intel CPU 命名含义

    https www intel com content www us en processors processor numbers html
  • 使用 c++ 如何一行行的读取文本数据?

    使用 std getline 函数读取文件行 https en cppreference com w cpp string basic string getline 下面进行不同写法读取文件行的方式的比较 for std string li
  • android NDK 如何使用 JNI 与 Java&Kotlin 语言交互?

    android NDK 如何使用 JNI 与 Java amp Kotlin 语言交互 xff1f http web archive org web 20120626135526 http java sun com docs books j
  • 海康威视摄像头 rtsp 地址格式

    海康威视摄像头 rtsp 地址格式 单播取流格式 rtsp username password 64 ip port Steaming Channels number 多播取流格式 rtsp username password 64 ip
  • debian 11.3 国内最快镜像源

    debian 11 3 国内最快镜像源 deb https mirrors tencent com debian bullseye main non free contrib deb src https mirrors tencent co
  • golang 如何自定义解析 markdown to html ?

    golang 如何自定义解析 markdown to html xff1f 输出 HTML 模板内容如下 span class token doctype span class token punctuation lt span span

随机推荐

  • 如何计算 2d 多边形面积?

    如何使用 C 43 43 11 30 行代码搞定计算 2D 多边形面积 xff1f 完整代码如下 xff1a include lt vector gt include lt utility gt using Point 61 std pai
  • 怎样为MFC对话框建立初始化函数BOOL HistoryData::OnInitDialog()

    一 在要建立OnInitDialog 的对话框上右击建立类向导 xff0c 如下图 xff1a 二 为对话框建立消息映射 xff0c 如下图 xff1a 在classwizard的Message Maps中的Object IDs选择该对话框
  • 颜色值如何使用 C++ 输出字符串格式?

    颜色值如何使用 C 43 43 输出字符串格式 xff1f https developer android com reference android graphics Color html https en wikipedia org w
  • 如何使用 opencv 调用 yolov5 onnx 模型 ?

    如何使用 opencv 调用 yolov5 onnx 模型 xff1f rtx3090 24G release 90 fps by use yolov5n rtx3090 24G release 20 fps by use yolov5s
  • Conda 备忘录指南 (VER 4.12.0)

    Conda 备忘录指南 VER 4 12 0 快速入门 提示 建议为任何新项目或工作流创建一个新环境 CNENCMD验证conda安装和检查版本verify conda install and check versionconda info
  • 使用 C++ filesystem 递归目录

    如何使用 C 43 43 filesystem 递归目录 xff1f include lt Windows h gt include lt iostream gt include lt string gt include lt fstrea
  • CMake 如何复制文件?

    何时执行自定义指令 PRE BUILD PRE LINK POST BUILD 单文件 add custom command TARGET PROJECT NAME POST BUILD COMMAND CMAKE COMMAND E co
  • 什么是 MQ?

    消息队列 MQ 是在微服务架构中使用的异步服务到服务通信协议 在 MQ 中 xff0c 消息被排队 xff0c 直到它们被处理和删除 每条消息只处理一次 此外 xff0c MQ 可用于解耦重量级处理 缓冲和批处理工作 消息队列提供系统不同部
  • Qt 如何并发异步调用?

    Qt 如何并发异步调用 xff1f QT 43 61 core concurrent widgets template lt typename T typename Handler gt void await const QFuture l
  • 如何使用 C++ 构建一个环结构?

    C 43 43 环状移动 include lt iostream gt include lt list gt int main auto list 61 std list lt int gt 1 3 5 7 9 for auto i 61
  • C++ std::thread 如何使用?

    C 43 43 是一种高级编程语言 xff0c 被广泛用于开发高性能 大规模 复杂的软件系统 其中一个强大的特性就是多线程编程 xff0c 而std thread是C 43 43 标准库提供的多线程支持的重要组成部分 免费虚拟手机号注册网址
  • 导航雷达回波信号格式和目标检测算法

    导航雷达回波信号格式 导航雷达回波信号格式会根据具体的雷达类型和应用场景有所不同 通常 xff0c 导航雷达回波信号包含以下几个关键参数 xff1a 距离信息 xff08 Range xff09 xff1a 雷达发送的电磁波与目标相互作用后
  • 厦门IT公司名单及联系方式

    厦门高士达科技实业有限公司 xff1a xff08 已走访并开展了座谈 xff09 地址 xff1a 厦门软件园观日路58号9楼 总机 xff1a 2958000 联系人 xff1a 童小姐 xff08 人事专员 xff09 厦门恒深智能软
  • 巧用可变参数宏、编译器内置宏和printf输出调试信息

    前言 xff1a 我们在写程序的时候 xff0c 总是或多或少会加入一些printf之类的语句用于输出调试信息 xff0c 但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除 xff0c 而一旦需要
  • STM32外设寄存器地址定义

    一直都是用STM32做项目中的主控芯片 xff0c 在编程的时候 xff0c 之前一直忽视了一个问题 xff0c 那就是寄存器的位置是如何定义的 xff0c 为什么用一个USART1 gt CR操作就能够给这个CR寄存器赋值 xff1f 其
  • CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程

    CoppeliaSim vrep 与 c 43 43 xff08 visual studio 2019 xff09 新建基本工程 文章目录 CoppeliaSim vrep 与 c 43 43 xff08 visual studio 201
  • windows-rbdl-vs2019

    根据源码提示 xff0c 在项目属性 c 43 预处理器 预处理定义中加入定义 ifndef RBDL BUILD ADDON URDFREADER error 34 Error RBDL addon URDFReader not enab
  • 2021-11-11 机械臂路径规划学习进展

    机械臂关节空间和末端空间路径规划 关节空间路径规划简单障碍物情况 xff1a 之后搭建复杂障碍物场景 xff1a 测试发现路径规划的两个步骤 xff1a 采用了关节空间进行路径规划的方案 xff0c 原因主要是在关节空间也就是构型空间中 x
  • 2021-11-12 轨迹规划了解

    1 机器人中的轨迹规划 曲线柔顺 xff1a 五次多项式曲线 起终点位置 速度 加速度约束六个方程 虽然这三条曲线都是连续且光滑的 xff0c 但却存在一个很实际的问题 从速图曲线中可以看出在t 61 25时速度达到最大值 xff0c 没有
  • 【轨迹规划】c++ vector<vector<double>>数据传递

    轨迹信息传递 span class token macro property span class token directive hash span span class token directive keyword include s