我有一个包含列表坐标的向量 ...x1,y1 ;x2,y2....xn,yn
我正在尝试提取作为坐标的每个单独元素,然后将它们保存到文件中,作为一个可以轻松阅读的漂亮描绘的坐标对。或者我保存它们会有什么好处,这样我就可以在 excel 等中绘制一些东西(作为 x 和 y 值的列)。
我的原始向量大小为 31,最初构造为
vector<vector<Point> > myvector( previous vector.size() );
我有一个包含列表坐标的向量 ...x1,y1 ;x2,y2....xn,yn
我正在尝试提取作为坐标的每个单独元素,然后将它们保存到文件中,作为一个可以轻松阅读的漂亮描绘的坐标对。或者我保存它们会有什么好处,这样我就可以在 excel 等中绘制一些东西(作为 x 和 y 值的列)。
我的原始向量大小为 31,最初构造为
vector<vector<Point> > myvector( previous vector.size() );
在 for 循环中使用std::vector<std::vector<Point>>::const_iterator
以遍历坐标列表的所有元素。
在 C++ 中写入 Excel 文件很容易。您可以按如下方式进行。
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
vector<Point> myVec;
void main()
{
ofstream fout("C:/output.xls");
for(unsigned int i=0; i<myVec.Size(); i++)
{
int x = myVec[i].x;
int y = myVec[i].y;
fout<<x; //Write value of x in first column
fout<<"\t"; //Jump to next column
fout<<y; //Write value of y in next column
fout<<endl; //Jump to first column of next row
}
fout.close();
}
使用 Microsoft Excel 打开输出文件时,可能会显示警告。你可以忽略它。
您可以使用at
or[]
运算符并迭代向量的元素。然后按照您的要求将每一个保存到文件或 Excel 表中。
“提取”向量中的元素(一种可能的方式!):
std::vector<anObj> myVec;
//...fill the vector...
//get the elements:
for(int i = 0; i < myVec.length(); i++)
{
int x = myVec.at(i).x;
int y = myVec.at(i).y;
//do something else
}
在 C++ 中使用 Excel 有点复杂。请参阅托管和非托管方式的一些示例。