リスト座標を含むベクトルがあります...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シートに保存してください。
ベクター内の要素を「抽出」します (可能な方法の 1 つです!):
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 を使用するのは、もう少し複雑です。管理された方法と管理されていない方法のいくつかの例を参照してください。