常见的文本文件格式输出方法如下
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();
