常见的文本文件格式输出方法如下
char * File2 = "norms.txt";
ofstream outfile2(File2);
outfile2 << endl;
vector<int>PointNormals;
int jj = 0;
while (jj < PointNormals.size()){
outfile2 << setiosflags(ios::fixed)<<setw(20)<<PointNormals[jj]<< " ";
if (!((jj + 1) % 3))
{
outfile2 << endl;
}
jj++;
}
PointNormals.resize(0);
outfile2.close();
输入例子如下
ReadPoints_Resample(readMode _rm){
m_NumOfPoint = 0;
ifstream infile(filename,ios_base::in);
if (!infile)
{
return ;
}
m_Points.resize(WNUM);
for (int i = 0; i < WNUM; i++)
{
m_Points[i].resize(HNUM);
}
for (int i = 0; i < WNUM; i++)
{
for (int j = 0; j < HNUM; j++)
{
m_Points[i][j].resize(DNUM);
}
}
ofstream outfile("original.txt");
if (_rm == WITH_VOL_COORD)
{
for (int i = 0; i < WNUM; i++)
{
for (int j = 0; j < HNUM; j++)
{
for (int k = 0; k < DNUM; k++)
{
double t_x, t_y, t_z, t_vol;
infile >> t_vol;
infile >> t_x >> t_y >> t_z;
t_point.x = AIR_AFFINE(0, i, WNUM - 1, minX, maxX);
t_point.y = AIR_AFFINE(0, j, HNUM - 1, minY, maxY);
t_point.z = AIR_AFFINE(0, k, DNUM - 1, minZ, maxZ);
//outfile << t_point.vol << " " << t_point.x << " " << t_point.y << " " << t_point.z << endl;
m_Points[i][j][k] = t_point;
}
}
}
}else if(_rm == WITH_ONLY_VOL){
double max_vol = -1;
for (int i = 0; i < WNUM; i++)
{
for (int j = 0; j < HNUM; j++)
{
for (int k = 0; k < DNUM; k++)
{
NorPoint t_point;
double t_vol;
infile >> t_vol;
t_point.vol = t_vol;
t_point.x = AIR_AFFINE(0, i, WNUM - 1, minX, maxX);
t_point.y = AIR_AFFINE(0, j, HNUM - 1, minY, maxY);
t_point.z = AIR_AFFINE(0, k, DNUM - 1, minZ, maxZ);
//蚂蚁体数据阈值选为-0.2
if (t_vol > 0.3)
{
t_point.vol = 1;
m_NumOfPoint += 1;
outfile << t_point.vol << " " << t_point.x << " " << t_point.y << " " << t_point.z << endl;
}else{
t_point.vol = 0;
}
m_Points[i][j][k] = t_point;
}
}
}
}else{
for (int i = 0; i < WNUM; i++)
{
for (int j = 0; j < HNUM; j++)
{
for (int k = 0; k < DNUM; k++)
{
NorPoint t_point;
t_point.x = AIR_AFFINE(0, i, WNUM - 1, minX, maxX);
t_point.y = AIR_AFFINE(0, j, HNUM - 1, minY, maxY);
t_point.z = AIR_AFFINE(0, k, DNUM - 1, minZ, maxZ);
if (k == -j + DNUM)
{
t_point.vol = 1.0;
m_NumOfPoint += 1;
outfile << t_point.vol << " " << t_point.x << " " << t_point.y << " " << t_point.z << endl;
}else{
t_point.vol = 0.0;
}
m_Points[i][j][k] = t_point;
}
}
}
}
outfile.close();